Монтирование и демонтирование файловой системы
Для нормальной работы операционной системы ядро каким-то образом должно получить параметры файловых систем, используемых во время работы, и определенным образом настроить специальные таблицы. Для этого существует, по крайней мере, два способа:
1. Каким-то образом один раз получить тип и параметры файловой системы и использовать их все время.
2. Получать их каждый раз при обращении к файловой системе.
У обоих вариантов имеются свои плюсы и минусы. Плюсы первого варианта – уменьшаются затраты времени на определение файловой системы и инициализацию таблиц ядра операционной системы. Минусы – невозможно "на ходу" заменить одно устройство (носитель информации) на другое (к примеру, диск Zip 100 на Zip250), поскольку в таблицах ядра зафиксированы емкость носителя, емкость кластеров, используемые блоки и тому подобная информация. Плюсы и минусы второго варианта прямо противоположны первому – возможно "на ходу" заменить устройство (носитель информации), большие затраты времени на определение файловой системы и инициализацию таблиц ядра операционной системы. К тому же, во втором варианте намного труднее достичь надежности хранения данных.
Поэтому большинство операционных систем (не только UNIX) в явной или неявной форме используют первый вариант взаимодействия с файловой системой. Для этого в Linux используются операция «монтирования» и обратная ей «демонтирования» файловой системы. Подробную информацию см. в гл. 5.
Поскольку в операционной системе Linux используется единое связанное дерево каталогов, то, в отличие от DOS/Windows, не существует такого понятия файловой системы, как диск. Все дисковые устройства (файловые системы) интегрируются в дереве каталогов в так называемые точки монтирования, в качестве которых выступают обычные каталоги. Причем, если до монтирования в этом каталоге содержались какие-то файлы, то они становятся недоступны до тех пор, пока вы не смонтируете эту файловую систему. Для операции монтирования/демонтирования используются две команды mount и umount.
Команда mount принимает несколько параметров, из которых обязательными являются всего два. Первый их них – файл устройства, соответствующий диску или разделу, на котором расположена файловая система, или его псевдоним (к примеру – CD-ROM, floppy). Вторым параметром является имя каталога, к которому будет монтироваться система. Например, mount /dev/hda1 /mnt.
Помимо обязательных параметров можно задавать тип монтируемой файловой системы (при отсутствии этого параметра команда пытается самостоятельно определить ее тип), режим доступа, используемую в именах файлов кодировку и некоторые другие параметры.
Существует специальный файл /etc/fstab, содержащий список файловых систем и их параметры монтирования. Этот файл используется ядром операционной системы при ее старте. Ядро пытается смонтировать файловые системы, описанные в этом файле, с соответствующими параметрами монтирования.
После того как отпала необходимость в использовании файловой системы, ее можно демонтировать. Чаще всего это необходимо при работе с дискетами или дисками CD-ROM (один диск необходимо заменить на другой). Для демонтирования используется команда umount. В качестве параметра указывается файл устройства или точка монтирования. Например, umount /dev/hda1 или umount /mnt/floppy.
По окончании работы со сменным носителем информации его обязательно необходимо отмонтировать. Поскольку ядро Linux осуществляет «отложенную» запись на диск, то к тому моменту, когда вы извлечете из дисковода дискету без отмонтирования, информация еще может быть не записана на диск из системного буфера.
Для выполнения операций монтирования и демонтирования требуется наличие прав доступа root. Но при работе на своем персональном компьютере это усложняет процедуру. Есть несколько вариантов решения такой проблемы:
• в KDE или GNOME обычному пользователю можно монтировать CD-ROM и дисковод;
• осуществить временный вход в систему пользователем root, монтировать/демонтировать диск и немедленно выйти;
• применить программу sudo, позволяющую пользователям, для которых это разрешено, использовать команду mount;
• применить пакет mtools, используемый для работы с файловой системой MS-DOS;
• поместить список файлов устройств, используемых при работе с гибкими дисками, и доступных узлов монтирования вместе с нужными опциями (разрешением монтирования пользователем) в файл /etc/fstab.
Данный текст является ознакомительным фрагментом.