Оглавление.

Автоматическое монтирование файловых систем: файл fstab


Вводя в Linux-систему новый раздел жесткого диска, пользователь, конечно, хотел бы, чтобы он автоматически монтировался при запуске и демонтировался при останове. В противном случае этот раздел придется при каждой загрузке и каждом останове системы монтировать и демонтировать явно. Для того чтобы ОС/ Linux автоматически монтировала файловую систему, существующую в новом разделе жесткого диска, нужно добавить ее имя в файл fstab. Это можно сделать вручную либо с помощью команды fstool. Файл fstab расположен в каталоге /etc. В нем перечислены файловые системы, которые монтируются командой mount с опцией . Эта команда находится в файле /etc/rc.d/rc.boot. Команды данного файла выполняют операции по инициализации системы. Они выполняются при каждой загрузке системы. При останове системы выполняется команда umount -а, которая демонтирует все файловые системы, перечисленные в файле fstab. Команда umount -а находится в файле /etc/rc.d/init/halt, который содержит команды, выполняемые при каждом останове системы. Таким образом, все файловые системы, которые вы указываете в файле /etc/fstab, автоматически монтируются при запуске системы и демонтируются при ее закрытии. В других системах, например Redhat, команда mount -а может находиться в файле /etc/rc.d/rc.sysinit.

Элемент файла fstab содержит несколько полей, разделенных пробелами или знаками табуляции. Первое поле - имя монтируемой файловой системы. Оно обычно начинается с /dev, например /dev/hda3, - третий раздел жесткого диска. Следующее поле - каталог в файловой структуре, к которому вы хотите присоединить файловую систему, находящуюся на данном устройстве. Третье поле - тип монтируемой файловой системы. Опции команды mount перечислены в табл. 7.2, а перечень типов файловых систем дан в табл. 7.6. Тип раздела жесткого диска для стандартной файловой системы Linux - ext2, В следующем примере показана строка файла fstab, соответствующая основному разделу жесткого диска для Linux. Он монтируется в корневом каталоге (/) и имеет тип ext2.

/dev/hda3 / ext2 defaults 0 1

В поле, следующем после типа файловой системы, указываются различные опции монтирования. Имеется стандартный набор опций, устанавливаемых по умолчанию; все их можно задать вводом одной опции defaults/ Другие опции в списке разделяются запятыми (без пробелов). Опция deffaults обозначает устройство как устройство чтения/записи, асинхронное, блок-ориентированное, без возможности монтирования для обычных пользователей, с возможностью выполнения на нем программ. Для CD-ROM указываются всего две опции, го и noauto. Опция го показывает, что файлы, находящиеся на этом устройстве, предназначены только для чтения, noauto - что оно автоматически не монтируется. Опция noauto используется как для CD-ROM, так и для дискет, чтобы они не монтировались автоматически, поскольку вы не знаете, будут ли они установлены при запуске. В то же время в записях рассматриваемого файла, относящихся и к CD-ROM, и к дискетам, указывается, в каком каталоге они будут монтироваться при запуске, если вы все же решите монтировать их. Ниже приводится пример записей для CD-ROM и дискет. Тип файловой системы на CD-ROM, iso9660, отличается от типа раздела жесткого диска. Для дисковода гибких дисков также предусмотрены все стандартные опции, используемые для разделов жесткого диска.

/dev/fd0 /mnt/floppy ext2 defaults,noauto 0 0 /dev/hdc /mnt/cdrom iso9660 ro,noauto 0 0

Последние два поля содержат целочисленные значения. Первое используется командой dump для определения периодичности резервного копирования файловой системы. Последнее используется командой fsck для определения необходимости проверки системы и порядка возможной проверки. Если значение поля - 1, то это корневой раздел. Значение 0 говорит о том, что проверять файловую систему при загрузке не нужно.

Ниже приведена копия файла /etc/fstab. Первая его строка - комментарий. Все строки комментариев начинаются со знака #. Файловая система /ргос - это специальная файловая система, которую операционная система Linux использует для управления системными процессами. Никакому реальному устройству она не соответствует.

/etc/fstab _____________________________________________________________________________________ | # device mountpoint filesystemtype options dumpm fsckorder| | /dev/hda3 / ext2 defaults 0 1 | | /dev/hdc /mnt/cdrom iso9660 ro,noauto 0 0 | | /dev/fd0 /mnt/floppy ext2 defaults,noauto 0 0 | | /proc /proc proc defaults | | /dev/hda2 /none swap sw | | /dev/hda1 /mnt/dos msdos defaults 0 0 | | /dev/hda4 /mnt/win vfat iocharset=koi8-r,codepage=866,rw,noexec 0 0 | |____________________________________________________________________________________|

Чтобы указать в файле /etc/fstab новую файловую систему, можно либо отредактировать его вручную, либо воспользоваться утилитой fstool, которая попросит вас ввести соответствующую информацию.

Как уже упоминалось выше, в файловой структуре Linux можно монти-ровать разделы, используемые операционной системой MS-DOS. Делается это так же, как при монтировании любой файловой системы Linux. Нужно только указать тип раздела - msdos. Вероятно, будет удобнее, если система будет автоматически монтировать разделы MS-DOS при запуске системы Linux. Для этого нужно ввести в файл /etc/fstab запись для каждого монтируемого раздела MS-DOS. Укажите имя устройства для раздела и имя каталога, в котором он должен монтироваться. Логичный выбор - каталог /mnt/dos (убедитесь, что каталог dos в /mnt уже создан). В качестве типа файловой системы введите msdos. В следующем примере показана стандартная строка файла /etc/fstab для раздела MS-DOS. Обратите внимание на то, что эта запись является последней в приведенном выше файле /etc/fstab.

/dev/hda1 /mnt/dos msdos defaults 0 0

Раздел, для которого в файле /etc/fstab есть запись, можно монтировать только в каталоге, указанном в этой записи. Имя файла устройства вводить не нужно. Программа mount найдет запись, соответствующую этому разделу, в файле fstab (по имени каталога) и таким образом определит имя устройства. Например, чтобы демонтировать DOS-раздел /dev/hda1 в предыдущем примере, команде mount нужно указать только каталог, в котором он смонтирован. В данном случае это /mnt/dos.

# umount /mnt/dos

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

# mount -n -0 remount,ro /

Приведенный здесь в качестве примера файл /etc/fstab можно использовать как руководство по формированию записей. Особенно важны элементы, соответствующие разделам /ргос и swap.


Оглавление.