О монтировании файловых систем
Материал из Gentoo Linux Wiki
- Вернуться к разделу Частых Вопросов и Ответов
Пожалуйста приведите эту статью в соответствиe с wiki разметкой, и затем удалите {{Wikify}} из текста статьи
Содержание |
[править] Введение
Одно из первых, что удивляет пользователя, перешедшего с WINDOWS к UNIX-подобным системам, - это необходимость монтировать (присоединять) дисководы, CD-ROM и файловые системы жесткого диска. А затем, для сохранения целостности данных на носителе, еще и необходимость размонтировать устройство. Если отсоединить устройство без операции размонтирования, то файловая система будет разрушена. Большинство проблем возникает с дискетами, так как CD-ROM или оптический диск без размонтирования блокируется и обычным путем не извлекается.
[править] Команды и файлы
Этим двум операциям соответствуют команды mount и umount.
Монтирование и размонтирование всех файловых систем выполняется этими командами, кроме корневой файловой системы, которая обслуживается отдельно от остальных.
Файловые системы можно монтировать вручную, а можно и автоматически при загрузке операционной системы (ОС) и размонтировать при остановке ОС. В данной статье будет рассмотрен второй вариант, как наиболее общий. Для автоматического монтирования используются два файла:
/etc/fstab,
/etc/mtab
Первый файл содержит список файловых систем, которые могут быть смонтированы. Второй же хранит информацию о том, какие файловые системы смонтированы в данный момент и с какими параметрами было произведено монтирование. Примерный файл /etc/fstab (в данном случае, моей системы) представлен ниже: /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/sda, /dev/sdb1, /dev/rz0a, /dev/rz0b; для floppy-дисководов - /dev/fd0, /dev/fd1 и т.д.
Однако, здесь есть особенности. Для файловой системы procfs, дающей доступ к внутренним структурам ядра, здесь может находиться любой текст, а для сетевой файловой системы указывается имя сервера и подкаталога на нем.
[править] Точка монтирования
Это название каталога, к которому будет подмонтирована файловая система. В данном поле нужно обратить внимание на следующее обстоятельство, если у Вас одна система монтируется, к примеру, в каталог /mnt/disk1, а вторая, находящаяся на другом носителе, в каталог /mnt/disk1/partition1, то строка с описанием /mnt/disk1 должна стоять в файле /etc/fstab до строки с описанием точки монтирования /mnt/disk1/partition1.
А также следует заметить, что для раздела-подкачки (swap) данное поле не используется, а его содержимое может быть любым, но обязательно должно присутствовать, так как этого требует формат файла.
[править] Тип файловой системы
Данное поле описывает какой тип файловой системы будет монтироваться. Для получения данных о поддерживаемых типах файловых систем лучше обратиться к команде
man 8 mount
Можно воспользоваться значением auto, и тогда команда попытается сама определить тип файловой системы. Однако, это не панацея, т.к. имеется ряд трудностей, связанных с тем, что перебираются только файловые системы, которые поддерживаются ядром в данный момент (они перечислены в файле /proc/filesystems).
[править] Параметры монтирования
Параметры этого поля и их значения представлены в таблице.
| Параметр | Значение |
|---|---|
| async | весь ввод-вывод осуществляется асинхронно |
| atime | изменять параметр "время доступа" при обращении к файлам (по умолчанию) |
| auto | система может быть смонтирована при автоматическом монтировании |
| defaults | установки по умолчанию rw + suid + dev + exec + auto + nouser + async |
| dev | система может содержать файлы блочных и символьных устройств |
| exec | система может содержать исполняемые файлы |
| loop | для размещения можно использовать обычный файл (стандартно файловые системы размещаются на устройствах, к каковым обычные файлы не относятся, но если указать параметр loop программа mount находит свободное loop-устройство, "связывает" с ним с помощью программы losetup заданный файл и передает имя этого устройства системному вызову mount, именно так монтируются образы CD-ROM) |
| noatime noauto | параметры, противоположные по значению соответствующим параметрам без "no" |
| remount | перемонтировать уже смонтированную систему, например для изменения параметров первоначального монтирования |
| ro | смонтировать файловую систему в режиме "только чтение" |
| rw | смонтировать файловую систему для чтения и для записи (по умолчанию) |
| suid | разрешить интерпретацию битов SUID и SGID |
| sync | весь ввод-вывод осуществляется синхронно |
| user | разрешить обычному пользователю (не обладающему правами root) монтировать и размонтировать данную файловую систему. Этот параметр влечёт за собой noexec, nosuid и nodev, если после него явно не указано exec, suid или dev. |
Перечисленные опции интерпретируются командой mount. Некоторые параметры должны интерпретироваться ядром системы, в данной статье они не рассматриваются.
[править] Уровень дампа
Это поле используется программой dump, для создания резервных копий.
Если файловая система должна участвовать в процессе резервного копирования, то здесь должно стоять число 1, если нет - 0.
[править] Порядковый номер для fsck
И наконец, последняя опция ...
Перед автоматическим подмонтированием файловая система проверяется программой fsck, которая проверяет ее целостность, и, если необходимо, исправляет ошибки. Это занимает определенное количество времени, иногда очень большое.
Значение этого поля имеет следующий смысл:
- файловые системы для которых это параметр равен 0 либо отсутствует , не проверяются fsck вообще
- корневая файловая система, должна иметь в этом поле значение 1 (если не 0)
- все остальные файловые системы должны иметь это поле равным 2 (если не 0)
- файловые системы, расположенные на одном носителе будут проверяться последовательно
- файловые системы, расположенные на разных носителях, будут проверяться параллельно
[править] Дополнительные сведения
Если в файле /etc/fstab имеется строка относящаяся к данной файловой системе. то при вызове для нее команды mount можно опустить параметры монтирования, название устройства или точку монтирования, то есть в нашем случае, команда
mount /mnt/floppy
смонтирует устройство /dev/fd0 в точку /mnt/floppy
Также, значения этого файла используются в графических оболочках, таких как KDE и GNOME, в которых файловые системы монтируются щелчком мыши.
Если нужно отмонтировать например CD-привод, но какой нибудь процесс обращается к нему, то надо отмонтировать с параметром -l umount -l /mnt/cdrom
