Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_Unix.doc
Скачиваний:
15
Добавлен:
26.11.2019
Размер:
2.41 Mб
Скачать

2.9 Монтирование файловых систем

Файловая иерархия системы UNIX выглядит как монолитная структура, но в реальности она представляет собой композицию нескольких отдельных деревьев, каждое из которых является отдельной, полной файловой системой. Одна из файловых систем настраивается как корневая файловая система, а ее корневой каталог становится системным корневым каталогом. Остальные файловые системы присоединяются к существующей структуре при помощи монтирования каждой новой файловой системы в каталог, находящийся в существующем дереве. После монтирования корневой каталог системы “покрывается” каталогом, на которой система была смонтирована. Любой доступ к монтировочному каталогу преобразуется в доступ к корневому каталогу смонтированной файловой системы. Она остается видимой до тех пор, пока не будет произведена операция размонтирования.

На рисунке 2.11 показана иерархия файлов, получаемая при композиции двух файловых систем. В примере система fs0 установлена как корневая файловая система машины, а fs1 смонтирована в каталоге /usr системы fs0. Каталог /usr называется монтировочным или точкой монтирования. Все попытки доступа к нему приведут к обращению к корневому каталогу монтированной на нем файловой системы.

Рисунок 2.11 - Монтирование файловой системы

Монтирование и размонтирование всех файловых систем выполняется командами mount umount, кроме корневой файловой системы, которая обслуживается отдельно от остальных.

Файловые системы можно монтировать вручную, а можно и автоматически при загрузке операционной системы (ОС) и размонтировать при остановке ОС. Для автоматической монтировки используются два файла

/etc/fstab,

/etc/mtab.

Первый файл содержит список файловых систем, который могут быть смонтированы. Второй же хранит информацию о том, какие файловые системы смонтированы в данный момент и с какими параметрами было произведено монтирование. Примерный файл /etc/fstab представлен ниже:

/dev/hda5 / ext2 defaults 1 1

/dev/hda7 swap swap defaults 0 0

/dev/fd0 /mnt/floppy auto sync, user, noauto, nosuid, nodev, unhide 0 0

/dev/cdrom /mnt/cdrom auto user, noauto, nosuid, exec, nodev, ro 0 0

none /proc proc defaults 0 0

none /dev/pts devpts mode=0622 0 0

Каждой точке монтирования в нем соответствует одна строка, в которой перечислены шесть параметров монтирования:

название устройства, на котором расположена файловая система

точка монтирования

тип файловой системы

параметры монтирования

уровень дампа

порядковый номер файловой системы для программы fsck

Название устройства чаще всего зависит от конкретной UNIX (LINUX) системы и от самого устройства. Обычно для IDE-дисков это что-то подобное /dev/hda1, /dev/hda2, /dev/hdb1 ; для SCSI /dev/rz0a, /dev/rz0b; для floppy-дисководов /dev/fd0, /dev/fd1 и т.д.

Точка монтирования – это название каталога, к которому будет подмонтирована файловая система. Если одна система монтируется, к примеру, в каталог /mnt/disk1, а вторая, находящаяся на другом носителе, в каталог /mnt/disk1/razdel, то сторка с описанием /mnt/disk1 должна стоять в файле /etc/fstab до строки с описанием точки монтирования /mnt/disk1/razdel. Для раздела-подкачки (swap) данное поле не используется, а его содержимое может быть любым, но обязательно должно присутствовать, так как этого требует формат файла.

Поле тип файловой системы описывает какой тип файловой системы будет монтироваться. Для получения данных о поддерживаемых типах файловых систем лучше обратиться к команде man mount.

Можно воспользоваться значением auto, и тогда команда попытается сама определить тип файловой системы. Однако, перебираются только файловые системы, которые поддерживаются ядром в данный момент (они перечислены в файле /proc/filesystems).

Параметры монтирования представлены в таблице.

Таблица 5 – Параметры монтирования

async

весь ввод-вывод осуществляется ассинхронно

atime

изменять параметр "время доступа" при обращении к файлам (по умолчанию)

auto

система может быть смонтирована при автоматическом монтировании

defaults

установки по умолчанию rw + suid + dev + exec + auto + nouser + async

dev

система может содержать файлы блочных и символьных устройств

exec

система может содержать исполняемые файлы

loop

для размещения можно использовать обычный файл (стандартно файловые системы размещаются на устройствах, к каковым обычные файлы не относятся, но если указать параметр loop программа mount находит свободное loop-устройство, "связывает" с ним с помощью программы losetup заданный файли передает имя этого устройства системному вызову mount, именно так монтируются образы CD-ROM)

noatime

noauto

nodev

noexec

nosuid

nouser

параметры, противоположные по значению соответствующим параметрам без "no"

remount

перемонтировать уже смонтированную систему, например для изменения параметров первоначального монтирования

ro

смонтировать файловую систему в режиме "только чтение"

rw

смонтировать файловую систему для чтения и для записи (по умолчанию)

suid

разрешить интерпритацию битов SUID и SGID

sync

весь ввод-вывод осуществляется синхронно

user

разрешить обычному пользователь (не обладающему правами root) монтировать и размонтировать данную файловую систему. Этот параметр влечт за собой noexec, nosuid и nodev, если после него явно не указано exec, suid или dev.

Перечисленные опции интерпретируются командой mount. Некоторые параметры должны интерпретироваться ядром системы, в данной статье они не рассматриваются.

"Уровень дампа" используется программой dump, для создания резервных копий.

Если файловая система должна участвовать в процессе резервного копирования, то здесь должно стоять число 1, если нет - 0.