Файловая иерархия и монтирование

И, наконец, файловая иерархия. Сколько бы ни было в системе дисковых разделов и файловых систем на них, для пользователя они предстают в качестве логически единой иерархически устроенной файловой системы древовидного облика (правда, дерево это обычно выглядит посталенным с ног на голову). В основании ее лежит корень (root, символически обозначаемый как /). Обязательными же ветвями являются каталоги — /bin и /sbin (место помещения исполняемых файлов общесистемных программ), /etc (каталог для конфигурационных файлов), /dev (каталог для файлов устройств, о которых только что шел разговор), /var и /tmp (каталоги для всякого рода регулярно изменяемых данных) /usr — здесь имеют место быть большинство пользовательских программ со всем сопровождающим их инвентарем, типа библиотек и документации), /home — место пользовательских каталогов для данных.

Перечисленные ветви вовсе не обязаны быть единой частью файловой системы в физическом смысле. Напротив, каталог /home почти всегда лежит на отдельном дисковом разделе, отдельные физически файловые системы часто составляют и такие ветви, как /usr, /var и /tmp. Возможно и много более дробное разбиение файлового древа, о чем речь пойдет в следующем разделе.

Процесс включения отдельных ветвей файловой системы в единую файловую иерархию называется монтированием. Оно выполняется с помощью специальной команды — mount, требующей указания имени файла устройства, соответствующего разделу, несущему монтируемую файловую систему, имени каталога, к которому она должна подключаться (так называемой точки монтирования) и, в некоторых случаях, опции, определяющей тип файловой системы. Например, команда

$ mount -t vfat /dev/hda1 /mnt

включит в файловую иерархию Linux, в каталог /mnt, раздел Windows с файловой системой VFAT или FAT32.

Однако на практике инсталлятор и при создании дискового раздела и определения несомой им файловой системы запрашивает и указание на точку монтирования, например, /, /home и так далее. И в дальнейшем эти файловые системы монтируются автоматически, в ходе загрузки системы, в соответствие с описанием, содержащемся в специальном файле /etc/fstab (который тоже создается инсталлятором при первичной установке).

Кроме упомянутой выше опции -t, определяющей тип файловой системы, команда mount имеет еще массу опций (см. man mount). И «дюже умные» инсталляторы подчас предлагают, кроме создания раздела, файловой системы, определения точки монтирования, еще и включить те или иные из них (о чем поговорим подробнее в следующем разделе).

Как правило, инсталлятор распознает и «чуждые» файловые системы, такие. как FAT любого рода и, в некоторых случаях, NTFS, и также обеспечивает (по умолчанию или после запроса и подтверждения пользователя) их автоматическое монтирование. Правда, доступ к разделам с файловой системой NTFS возможен обычно только в режиме чтения: запись на них требует специального инструментария и считается не вполне безопасной.

Файловые системы, расположенные на сменных носителях (CD, DVD, флэш-драйвы, внешние винчестеры с интерфейсом USB или FireWire, и так далее — вплоть до встроенных и сменных накопителей цифровых камер), при старте системы не монтируются. Этот выполняется по мере надобности — с помощью упомянутой выше команды mount. Однако инсталляторы, как правило, в силах установить наличие, по крайней мере, CD/DVD-приводов (еще бы, ведь, скорее всего, дистрибутив с них и устанавливается, и создать в /etc/fstab запись, обеспечивающую монтирование по упрощенной форме, например

$ mount /mnt/cdrom

для монтирования компакта. Для прочих сменных носителей, не монтируемых при старте, но используемых регулярно, соответствующие записи в файл /etc/fstab часто приходится создавать вручную (раньше это требовалось всегда, но ныне есть и другие механизмы — см. далее). Для каждого сменного устройства это делается отдельной строкой, содержащей следующие поля, разделенные пробелами (в любом количестве) или символами табуляции:

После этого процедура монтирования сведется к команде mount с одним аргументом — либо точки монтирования, либо имени файла устройства, и необходимости в каких-либо опциях также не возникнет.

Перед выключением машины (или перезагрузкой системы) все задействованные файловые системы должны быть в обязательном порядке размонтированы, что проделывается автоматически при корректном завершении сеанса — командами halt или reboot. Однако если в течении рабочего сеанса возникнет потребность, например, сменить компакт в CD-приводе, или извлечь флэш-драйв — размонтирование нужно выполнить явным образом, командой umount. Которая в любом случае потребует одного аргумента, точки монтирования или имени файла устройства.

Во многих современных дистрибутивах к редактированию файла /etc/fstab, ручному монтированию и размонтированию устройств приходится обращаться только в исключительных случаях. Корректным монтированием файловых систем при старте системы, как уже говорилось, озаботится программа установки. Что же до сменных носителей — их монтирование обеспечивается механизмом HAL (Hardware Abstration Layer), в результате чего сменные носители монтируются прозрачно для пользователя — сразу же при подключении соответствующего устройства или вставки компакт-диска в привод. Механизм HAL не использует описаний из файла /etc/fstab, и потому никаких дополнений в него вносить не нужно (более того, они могут лишь помешать).

Правда, отключение сменных носителей при использовании механизма HAL потребует от пользователя некоторых манипуляций. А именно — щелчка правой клавишей на пиктограмме рабочего стола, соответствующего CD/DVD или флэш-драйву (USB-винчестеру), и выбора из появившегося контекстного меню — в первом случае пунктов Отмонтировать и затем Извлечь, во втором — пункта Безопасно извлечь.


« Назад: Представление о файловых системах | ↑ К оглавлению | » Дальше: Практикум по дисковой разметке