Файловые системы на съемных носителях


Купить шторы. Нитяные шторы кисея купить www.tekstail.com.ua.

Популярность съемных носителей сильно выросла за последние несколько лет. Совсем недавно мы носились с дискетами, а теперь у нас есть компакт-диски и устройства USB. Вы должны уметь управляться с любыми съемными носителями, которые будут пересекать порог вашего информационного центра. Далее мы рассмотрим работу с файловыми системами на дискетах, устройствах USB и компакт-дисках.

Из соображений безопасности я не рекомендую подключать съемные носители к рабочим серверам, если на то нет веских оснований. Кто знает, что в действительности находится на устройстве USB данного производителя? Я предпочитаю сначала смонтировать такие устройства на своей рабочей станции, проверить содержимое и лишь затем скопировать необходимые данные на сервер. Съемные носители чрезвычайно удобны и распространены, и, конечно, указанное выше правило не действует, когда речь заходит о моем личном устройстве USB.

Форматирование носителей с файловой системой FAT32

И дискеты, и устройства USB обычно форматируются в файловой системе FAT32. В устройствах USB используется файловая система FAT32, и, как правило, они продаются уже отформатированными. Так как устройства USB имеют ограниченное число циклов чтения/записи, не рекомендуется переформатировать их слишком часто. Это правило не относится к дискетам, которые часто нуждаются в переформатировании при интенсивном использовании. Процесс, который большинство пользователей Windows называют «форматированием дискеты», на самом деле является многоэтапным. Под этим подразумевается форматирование диска, присвоение диску метки и создание файловой системы. Во FreeBSD при создании дискеты надо выполнить все эти операции.

Нестандартные дискеты

Предположим, что есть гибкий диск емкостью 1,44 Мбайт, который был стандартом для аппаратных средств х86 свыше двух десятилетий. Если у вас имеется привод, рассчитанный на работу с дискетами емкостью 800 Кбайт или какой-нибудь другой нестандартной емкостью, потребуется внести поправки, однако последовательность шагов не изменится.

Низкоуровневое форматирование

При форматировании диска первым делом надо выполнить низкоуровневое форматирование с помощью fdformat(1). Эта программа принимает только два аргумента: размер дискеты и имя устройства.

# fdformat -f 1440 /dev/fd0
Format 1440K floppy '/dev/fd0.1440'? (y/n): y

Когда вы наберете y, fdformat(1) начнет низкоуровневое форматирование, подготавливая диск к переносу на него файловой системы. Низкоуровневое форматирование — самая медленная операция в процессе подготовки дискеты. Windows выполняет такое форматирование, только когда будет затребовано полное форматирование.

Создание файловой системы FFS

После низкоуровневого форматирования, если вы создаете дискету FFS, то диску надо присвоить метку с помощью disklabel(8). Эта программа записывает на дискету базовую идентификационную информацию, устанавливает данные о разделах и даже может обозначить диск как загрузочный. Обозначение диска в качестве загрузочного не подразумевает копирование на него необходимых программ; маркер, размещаемый на диске, нужен для того, чтобы системный BIOS воспринял этот диск как загрузочный. Если вам нужна загрузочная дискета, скопируйте соответствующий образ диска из установочного комплекта. В следующем примере мы добавим простую метку диска без каких бы то ни было специальных характеристик:

# disklabel -r -w /dev/fd0 fd1440

Ключ -r предписывает disklabel обратиться к диску на низком уровне. Это необходимо, поскольку на диске еще нет файловой системы. Ключ -w предписывает осуществить запись на диск: мы записываем в /dev/fd0 и устанавливаем стандартную метку для дискеты 1,44 Мбайт. Полный список меток дискет можно найти в /etc/disktab. Там же располагаются метки для устройств других типов.

Наконец, создайте файловую систему с помощью newfs(8).

# newfs /dev/fd0

Далее вы увидите несколько строк текста, которые выведет программа newfs, после чего управление вернется командной строке.

Следует иметь в виду, что при использовании FFS на дискете впустую расходуется некоторое пространство, кроме того, FFS не обеспечивает должной защиты файлов на дискете, как того можно было бы ожидать. Так как информация о правах доступа сохраняется на дискете, обладатель дискеты легко может их преодолеть. Кроме того, не забывайте, что FFS резервирует порядка 8% общей емкости диска для собственных нужд. Вам действительно нужна дискета емкостью 1.32 Мбайт? Файловая система FFS хороша, но для гибких дисков лучше подойдет FAT32.

Создание файловой системы FAT32

Для перемещения данных между разными компьютерами требуется подготовить дискету в формате FAT32. Как и в предыдущем случае, сначала необходимо выполнить низкоуровневое форматирование, как уже обсуждалось ранее, однако в данном случае не надо присваивать метку. Просто воспользуйтесь программой newfs_msdos(8):

# newfs_msdos /dev/fd0

После того как по экрану пробежит несколько строк текста, вы получите готовую дискету.

Использование съемных носителей

Работа со съемными носителями ничем не отличается от работы с обычными устройствами, такими как жесткие диски. Вам требуется знать тип файловой системы на устройстве, имя файла устройства и точку монтирования.

Для компакт-дисков используется файловая система ISO 9660, тогда как для дисков DVD — либо UDF, либо комбинация ISO 9660 и UDF. Для устройств USB и дискет обычно используется FAT32. На новейших устройствах USB может использоваться файловая система UDF. Я предполагаю, что UDF станет наиболее привычной файловой системой для съемных устройств, особенно с увеличением емкости flash-накопителей.

Имя файла устройства зависит от типа самого устройства. Приводы компакт-дисков с интерфейсом IDE получают имя /dev/acd0, тогда как приводы с интерфейсом SCSI — /dev/cd0. Накопителям на гибких магнитных дисках соответствует файл устройства /dev/fd0. Устройства USB получают первое свободное имя, производное от /dev/da. При подключении устройства USB в файле протокола /var/log/message и на экране консоли появляется сообщение с указанием имени файла устройства и его типа.

Последнее, что вам потребуется, — это точка монтирования. По умолчанию в системе FreeBSD присутствует точка монтирования /cdrom для монтирования дисков CD и DVD. Здесь также можно обнаружить точку монтирования /media, которая предназначена для монтирования съемных носителей. Вы можете создать дополнительные точки монтирования, какие только пожелаете, поскольку любая точка монтирования — это самый обычный каталог. Для монтирования разнообразных устройств на короткий срок FreeBSD предлагает /mnt.

Так, чтобы смонтировать устройство USB /dev/da0 с файловой системой FAT32 в точку монтирования /media, следует запустить следующую команду:

# mount -t msdosfs /dev/da0 /media

Иногда встречаются устройства, которые содержат настоящую таблицу участков, и такие устройства должны монтироваться как /dev/da0s1, а не как /dev/da0. Это зависит от того, как было отформатировано устройство, а не от самой FreeBSD.

Единственный раздражающий фактор, связанный с приводами компакт-дисков, состоит в том, что приводам с интерфейсами SCSI и АТА соответствуют разные программные интерфейсы. Значительная часть программного обеспечения написана в расчете исключительно на интерфейс SCSI, поскольку этот интерфейс считается более надежным. Если вам придется столкнуться с таким программным обеспечением, обратите внимание на модуль ядра atapicam(4), который реализует уровень эмуляции для приводов CD-ROM с интерфейсом АТА.

Извлечение съемных носителей

Перед извлечением съемного носителя необходимо демонтировать файловую систему. Лоток CD-ROM не удастся выдвинуть, если компакт-диск не будет демонтирован, аналогичным образом не удастся извлечь дискету из накопителя. Безусловно, устройство USB можно извлечь в любой момент, но если файловая система в этот момент не будет демонтирована, это может привести к краху системы и даже к повреждению данных на устройстве. Чтобы демонтировать файловую систему, используйте команду umount(8) как для любой другой файловой системы:

# umount /cdrom

Съемные носители и /etc/fstab

Можно упростить монтирование съемных носителей, добавив соответствующие записи в файл /etc/fstab. Если для файловой системы на съемном носителе имеется запись в /etc/fstab, то при монтировании можно будет не указывать имя устройства и тип файловой системы. Другими словами, не надо помнить имена всех устройств и точные команды для монтирования тех или иных файловых систем. Вероятно, в вашем файле /etc/fstab уже имеется запись для монтирования CD-ROM.

/dev/acd0    /cdron      cd9660     ro,noauto     0     0

Я уверен, что вы помните назначение каждого поля в /etc/fstab, тем не менее напомню, что данная запись означает следующее: «монтировать /dev/acd0 в /cdrom, с использованием файловой системы ISO 9660, в режиме только для чтения, и не монтировать автоматически это устройство во время загрузки». Используя этот пример в качестве шаблона, вы сможете дополнить /etc/fstab аналогичными записями для устройств USB и накопителей на гибких магнитных дисках.

В системе FreeBSD эти записи по умолчанию отсутствуют, но я нахожу очень удобным иметь их в системах, где регулярно приходится пользоваться съемными носителями. Проверьте, что следующее доступное устройство da — это именно /dev/da0 (1), иначе, если этот файл устройства соответствует уже смонтированному жесткому диску, данная запись окажется бесполезной.

Когда будете добавлять записи в файл /etc/fstab, не забудьте добавить флаг noauto (2). В противном случае при отсутствии съемного носителя загрузка остановится в однопользовательском режиме из-за отсутствия файловой системы.

Комментарии запрещены.