9.4. Монтирование устройств

Как было уже рассмотрено ранее в Разд. 4.1.1, все диски и устройства в вашем компьютере являются частью одной большой файловой системы. Разделы жёсткого диска, CD-ROM'ы и дискеты находятся в одном дереве файлов. Для того, чтобы подключить эти носители к файловой системе, и вы могли получить доступ к ним, вам необходимо использовать команды mount(1) и umount(1).

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

9.4.1. fstab

Давайте рассмотрим пример файла /etc/fstab:

% cat /etc/fstab
/dev/sda1       /               ext2        defaults        1   1
/dev/sda2       /usr/local      ext2        defaults        1   1
/dev/sda4       /home           ext2        defaults        1   1
/dev/sdb1       swap            swap        defaults        0   0
/dev/sdb3       /export         ext2        defaults        1   1
none            /dev/pts        devpts      gid=5,mode=620  0   0
none            /proc           proc        defaults        0   0
/dev/fd0        /mnt            ext2        defaults        0   0
/dev/cdrom      /mnt/cdrom      iso9660     ro              0   0

В первой колонке указывается название устройства. В нашем случае устройства - это пять разделов, распределённые по двух жёстким SCSI-дискам, две специальные файловые системы, для которых не нужны устройства, дискета и CD-ROM. Во второй колонке указывается точка монтирования устройства. Это должно быть название каталога за исключением случая с разделом для свопинга. В третьей колонке находится тип файловой системы устройства. Для Linux зачастую это будут файловые системы ext2 (устарела), ext3, reiserfs, xfs и jfs. Приводы CD-ROM и DVD обозначаются как iso9660 и auto, а устройствами системы Windows будут msdos, vfat или ntfs.

В четвёртой колонке перечисляются параметры, применяемые к примонтированным файловым системам. Значение defaults прекрасно подойдёт практически во всех случаях. Однако для устройств, используемых только для чтения, следует добавить флаг ro. Существует ещё много других параметров. Чтобы узнать о них больше, обратитесь к странице руководства fstab(5). Последние две колонки используются утилитой fsck и другими программами, которым нужно работать с устройствами. Для получения более подробной информации также обращайтесь к странице руководства.

При установке Slackware Linux программа setup создаст за вас основную часть файла fstab.

9.4.2. mount и umount

В подключении устройства к вашей файловой системе нет ничего сложного. Всё, что вам нужно сделать - выполнить команду mount с несколькими опциями. Использование mount можно упростить, если добавить в файл /etc/fstab пункт с монтируемым устройством. Например, допустим, что нам нужно примонтировать CD-ROM, а наш файл fstab похож на тот, что был представлен в предыдущем разделе. Тогда нам нужно вызвать mount таким образом:

% mount /cdrom

Поскольку в fstab есть запись с указанной точкой монтирования, для mount будет известно, какие опции нужно использовать. Если записи для этого устройства нет, тогда mount нужно использовать с набором параметров:

% mount -t iso9660 -o ro /dev/cdrom /cdrom

В эту команду включена так же самая информация, что и в примере файла fstab, однако нам всё равно нужно указать все части. Здесь -t iso9660 - это тип файловой системы монтируемого устройства. В нашем случае это файловая система iso9660, которая наиболее часто используется на накопителях CD-ROM. Опция -o ro сообщает о том, что устройство используется только для чтения. /dev/cdrom - это название монтируемого устройства, а /cdrom - точка монтирования в файловой системе.

Перед тем, как извлечь дискету, CD-ROM или любой другой съёмный накопитель, который в данный момент примонтирован, вы должны сначала отмонтировать его. Это выполняется командой umount. Не спрашивайте, куда подевалась буква “n”, потому что мы не сможем ответить вам (правильно должно звучать “unmount” - прим. переводчика). В качестве аргумента к umount вы можете использовать название устройства или точку его монтирования. Например, если вам нужно отмонтировать CD-ROM из предыдущего примера, подойдёт любая из этих команд:

# umount /dev/cdrom
# umount /cdrom