Вводя в 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, – третий раздел жесткого диска. Следующее поле – каталог в файловой структуре, к которому вы хотите присоединить файловую систему, находящуюся на данном устройстве. Третье поле – тип монтируемой файловой системы. Тип раздела жесткого диска для стандартной файловой системы 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.