Работа с файловыми системами

Монтирование файловых систем

Прежде, чем файловая система станет доступной операционной системе, она должна быть смонтирована (mounted) в некоторый каталог. Например, если имеется файловая система на дискете, то для того, чтобы обеспечить доступ к её файлам, ее нужно смонтировать, например, в каталог /mnt/floppy — этот каталог называется точкой монтирования. После монтирования этой файловой системы все её файлы оказываются в соответствующем каталоге. После размонтирования (unmounting) файловой системы этот каталог окажется пустым.

То же самое относится и к файловым системам на жёстком диске. Так называемая корневая файловая система (root file system) монтируется в каталог /. Если имеется отдельная файловая система /home, то она монтируется в каталог /home. Если имеется лишь корневая файловая система, то все файлы (включая и те, которые находятся в каталоге /home) находятся только в ней. Операционная система автоматически монтирует файловые системы, расположенные на жестких дисках, во время загрузки. Файловые системы на съёмных носителях (такие как дискеты, CD-ROM и проч.) также в большинстве случаев монтируются автоматически при помощи программы automount.

Для монтирования и размонтирования файловых систем используются программы mount и umount (не unmount). Команда mount -av выполняется автоматически во время загрузки системы. Информация о файловых системах и точках монтирования находится в файле /etc/fstab. Пример файла /etc/fstab приведен ниже.

# device         directory      type     options
# (устройство)   (каталог)      (тип)    (опции)
#
/dev/hda1         /             ext3     defaults
/dev/hda2         /home         ext3     defaults
/dev/cdrom        /mnt/cdrom    auto     user,noauto,ro
/dev/hda4         none          swap     swap
/proc             /proc         proc     none

На первом поле (device) находится имя раздела, который нужно монтировать. Второе поле — точка монтирования. Третье поле — тип файловой системы, auto здесь обозначает, что тип файловой системы должен определяться автоматически. Последнее поле содержит опции монтирования. Часто они бывают установленными по умолчанию (defaults). В приведённом примере опция user обозначает, что файловая система может быть смонтирована обычным пользователем (обычно это — привилегия суперпользователя), noauto — что файловая система не будет смонтирована автоматически при загрузке. Подробнее об опциях монтирования можно узнать из экранной документации по mount. Ниже перечислены поддерживаемые в ALT Linux 2.3 Junior типы файловых систем.

Ext2

Является наиболее традиционной для Linux и самой стабильной из всех доступных файловых систем, однако она не является журналируемой, т. е. в случае перебоя питания и т. п. сбоев вся информация, которая не была записана на диск, будет утрачена и возможно появление ошибок в файловой системе. Поэтому после сбоя требуется произвести проверку файловой системы при помощи fsck.

Ext3

Развитие Ext2 с поддержкой журналируемости; хорошо совместима с Ext2. Ext2 может быть легко преобразована в Ext3 командной tune2fs -j /dev/hdXN. Для обратного преобразования достаточно смонтировать этот раздел как Ext2.

ReiserFS

Журналируемая система, оптимизированная под каталоги, содержащие большое количество файлов, а также под небольшие файлы. Для использования в данный момент рекомендуется версия 3.6 для ядер 2.4.x.

ISOFS

Используется на носителях CD-ROM.

UDF

Используется на носителях DVD-ROM.

VFAT

Используется в операционных системах Microsoft Windows 9x, Microsoft Windows 2000.

NTFS

Используется в операционных системах Microsoft Windows NT, Microsoft Windows XP. В настоящее время поддерживается только чтение файловых систем этого типа.

Файловые системы ISOFS и UDF используются в носителях CD/DVD-ROM; VFAT и NTFS используются семейством ОС Microsoft.

В файл /etc/fstab также включена информация о своп-разделах. Они имеют точку монтирования none (т. е. не монтируются) и тип swap.

Файл /etc/fstab содержит одну специальную запись для файловой системы /proc. Эта файловая система содержит информацию о протекающих в системе процессах, доступной памяти и т. д.. Если раздел /proc не смонтирован, то команды типа ps не будут работать.

Проверка файловой системы

В Junior проверка файловых систем на наличие повреждённых файлов выполняется автоматически во время загрузки в случае необходимости, а также регулярно — в профилактических целях. Однако иногда требуется вручную запустить проверку: для этого достаточно отдать команду fsck /dev/hdXN, и она сама автоматически определит тип проверяемой файловой системы и запустит нужную команду.

Перед проверкой файловую систему полезно размонтировать, а если программа fsck будет производить какие-либо восстановления в файловой системе, то это сделать необходимо.