Удобный иллюстрированный путеводитель по синтаксису файла fstab
Файл /etc/fstab есть во всех дистрибутивах Linux: он связан с монтированием файловых систем. Это важный файл, и ошибки в нем могут привести к тому, что система не загрузит ся вовсе. Формат файла fstab был достаточно очевидным, но огромное количество типов файловых систем, опций монтирования и вариантов определения разделов усложнили его. На нашем уроке по основам основ, мы попробуем разобраться в структуре fstab.
Каждая строка файла fstab разбивается на шесть следующих полей:
Поле 1 Устройство, содержащее файловую систему. На диаграмме слева для идентификации раздела диска используется имя устройства.
В последних дистрибутивах для этого используются метки дисков или UUID. Для файловой системы NFS это поле содержит строку типа docserver:/usr/share, что означает «каталог /usr/share на сервере NFS с именем docserver». В случае с логическими томами это поле будет содержать имя устройства, осуществляющего отображение [device mapper], типа /dev/VolGroup00/LogVol00.
Поле 2 Точка монтирования. Обычно это имя пустого каталога в корневом разделе.
Поле 3 Тип файловой системы. Linux поддерживает множество файловых систем; те, что распознаются вашим ядром, можно найти в /proc/filesystems.
Поле 4 Здесь определяются параметры монтирования. Набор возможных опций частично зависит от типа файловой системы, а их великое множество. Если указывать параметры не требуется, здесь появляется слово “defaults”.
Поле 5 Это поле почти вышло из употребления. Оно используется dump (программой создания инкрементных резервных копий) и обозначает диски, которые нужно архивировать.
Поле 6 Это поле определяет порядок, в котором файловый системы будут проверяться (утилитой fsck) во время загрузки. Обычно оно содержит ‘1’ для корневого раздела и ‘2’ для остальных.

Мнимые файловые системы
Не все файловые системы fstab настоящие. Некоторые из них – лишь плод воображения ядра. В последние годы концепция «файла» расширилась, и теперь файлом считается любой источник данных (не обязательно нечто хранимое на диске), к которому можно получить доступ с помощью стандартных системных вызовов ввода-вывода данных из файла и который можно просмотреть стандартными командами типа ls или cat. Наверное, самая известная из этих псевдофайловых систем – это файловая система proc, которая предоставляет доступ к внутренним данным ядра, включая подкаталоги с информацией о каждом процессе.
Строки, которые мы видели, определяют операции монтирования, которые будут выполняться во время загрузки командой mount где-то в скрипте загрузки. На схеме ниже показана строка для съемного устройства, такого как CD. Эта строка здесь не для того, чтобы определить монтирование во время загрузки, а для того, чтобы упростить монтирование съемных устройств. Прежде всего, она означает, что можно смонтировать CD, просто набрав команду
mount /dev/hdc
В заключение рассмотрим еще несколько опций монтирования. Существует огромное количество параметров, здесь не указанных.
Просмотрите man-страницы для fstab и mount, там все в самом деле очень подробно.
ro Монтировать в режиме только для чтения. Например, если каталог /usr находится на отдельном разделе, его монтирование в режиме только для чтения улучшит безопасность, так как защитит от изменения двоичные файлы в /usr/bin и библиотеки в /usr/lib.
noatime Не обновлять время последнего доступа к файлу. При определенных условиях это может повысить производительность. В Ubuntu используется аналогичная опция “relatime”.
sync Принудительно синхронизирует все операции записи (данные сразу пишутся на диск).
nosuid Нивелирует действие атрибутов “setuid” и “setgid”. Эта опция часто назначается сменным носителям. Она не позволит злоумышленникам получить доступ администратора, например, с помощью CD с оболочкой с установленным битом setuid, владельцем которой является root.
Комментарии (0)
RSS свернуть / развернутькомментировать