fstab (Русский)
Файл fstab(5) используется для настройки параметров монтирования различных блочных устройств, разделов на диске и удаленных файловых систем.
Он состоит из набора определений файловых систем. Каждая файловая система занимает свою строку. Эти определения динамически преобразуются в юниты монтирования systemd во время загрузки системы. При этом производится автоматическое разрешение зависимостей: службы, которые зависят от конкретной файловой системы, запускаются только после ее монтирования, а удаленные файловые системы вроде NFS или Samba, в свою очередь, монтируются только после того, как будет установлено сетевое подключение. Таким образом, и локальные, и удаленные файловые системы, указанные в /etc/fstab
, будут правильно смонтированы без дополнительной настройки. По умолчанию, при монтировании также производится запуск проверки файловой системы программой fsck. За подробной информацией обратитесь к man-странице systemd.mount(5).
При монтировании с помощью fstab используется для определения точки монтирования, если указано только устройство, и наоборот. При этом параметры монтирования также берутся из fstab.
Использование
Простой пример /etc/fstab
, в котором файловые системы идентифицируются по их UUID:
- device
- Физическое место размещения файловой системы, по которому определяется конкретный раздел или устройство хранения для монтирования. Смотрите подробнее в разделе #Определение файловой системы.
- dir
- Каталог, в который будет примонтирована файловая система.
- type
- Тип файловой системы.
- options
- Параметры монтирования файловой системы. Подробнее смотрите на и . Обратите внимание, что некоторые параметры относятся к конкретным типам файловых систем.
- dump
- Используется утилитой dump(8) для определения того, нужно ли создать резервную копию данных в файловой системе. У большинства пользователей утилита dump не установлена, поэтому им следует указывать 0 в этом поле.
- fsck
- Используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Значение 1 следует указывать только для корневой файловой системы; для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет. Файловые системы, для которых в поле указано значение 0, не будут проверяться fsck.
- При выборе типа файловой системы
auto
команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD/Blu-ray). - Если корневая файловая система btrfs или XFS, порядок fsck следует всегда указывать
0
вместо1
. Смотрите fsck.btrfs(8) и fsck.xfs(8).
Все прописанные в /etc/fstab
устройства автоматически монтируются при загрузке системы или при запуске команды с параметром , если не указана опция . Если есть устройства, прописанные в файле, но не подключенные, это приведёт к ошибке, если не указана опция .
Для более подробной информации смотрите .
Определение файловой системы
Конкретное место расположения файловой системы может быть определено различными способами. В файле /etc/fstab
можно указать имя файла устройства, его метку или UUID (в том числе GPT-метку и GPT-UUID для дисков GPT). Определение по UUID или PARTUUID является наиболее предпочтительным способом. Подробнее об этом вы можете узнать на странице Постоянные имена для блочных устройств — рекомендуется прочесть её перед продолжением чтения данной статьи.
Далее приведены примеры определений файловых систем с использованием каждого из способов. Вывод and для этих примеров вы можете найти на странице Постоянные имена для блочных устройств.
По именам устройств
Запустите , чтобы отобразить список разделов. Укажите имена устройств с префиксом .
По меткам
Запустите , чтобы отобразить список разделов. Укажите метки из столбца LABEL с префиксом LABEL=
:
По UUID
Запустите , чтобы отобразить список разделов. Укажите идентификаторы из столбца UUID с префиксом :
По меткам GPT
Запустите чтобы отобразить список разделов. Укажите значения PARTLABEL без кавычек:
По UUID GPT
Запустите чтобы отобразить список разделов. Укажите значения PARTUUID без кавычек:
Советы и рекомендации
Автоматическое монтирование с systemd
Список всех опций монтирования systemd можно посмотреть в systemd.mount(5).
Локальный раздел
Если есть большой раздел, вы можете разрешить службам, которые не обращаются к нему, запускаться в то время, как он проверяется программой fsck. Для этого добавьте следующие параметры монтирования в запись /etc/fstab
для соответствующего раздела:
noauto,x-systemd.automount
При этом процедура проверки и монтирования раздела будет запущена только при первой попытке доступа, и ядро будет держать в ожидании все потоки ввода-вывода, связанные с этим разделом, пока он не будет смонтирован.
Это полезно в случае, например, очень большого раздела /home
.
Удалённая файловая система
Автоматическое монтирование может аналогичным образом использоваться и для монтирования удаленных файловых систем. В дополнение, вы можете использовать параметр для указания времени ожидания удаленной файловой системы при перебоях в соединении. Также опция даёт systemd понять, что файловая система зависит от сети.
noauto,x-systemd.automount,x-systemd.mount-timeout=30,_netdev
Зашифрованная файловая система
Если у вас имеются зашифрованные файловые системы, вы можете также добавить параметр в соответствующие записи в /etc/crypttab
. Тогда systemd не будет пытаться открыть зашифрованное устройство во время загрузки системы, а сделает это при первой попытке доступа к файловой системе на этом устройстве, применив указанный файл ключа и затем автоматически смонтировав ФС. Это может дать выигрыш в несколько секунд при загрузке системы, например, если у вас зашифрованный RAID массив: systemd не придется ожидать готовности устройства. Пример записи:
Автоматическое размонтирование
С помощью флага можно указать таймаут бездействия. Например:
noauto,x-systemd.automount,x-systemd.idle-timeout=1min
В таком случае systemd размонтирует раздел спустя одну минуту неактивности.
Пробелы в значениях полей
Так как пробельные символы используются в для разделения полей, их нельзя напрямую использовать в значениях полей. Любые пробелы в полях (например, значения , или точки монтирования) должны быть заменены специальными управляющими последовательностями, которые состоят из обратной косой черты (\
) и трех восьмеричных цифр (например, для пробела это ):
Внешние устройства
Если устройство не подключено постоянно, и может отсутствовать во время загрузки системы, монтируйте его с параметром . Это предотвратит появление ошибок при загрузке.
Параметр хорошо комбинируется с . Таймаут по умолчанию 90 секунд, из-за чего отсутствие устройства приведёт к увеличению времени загрузки на 90 секунд. Не ставьте таймаут 0, так как это означает бесконечный таймаут.
Параметры atime
- Если файловая система смонтирована с параметром , то, когда происходит обращение к файлу, в его поле atime записывается текущее время (иными словами, время доступа). Это может быть полезно, когда Linux используется на сервере; на персональном компьютере эта функция обычно не нужна. Недостаток этой функции в том, что даже при чтении файла из кэша (в оперативной памяти) все равно производится медленная операция записи на диск. Использование параметров монтирования
noatime
, или может улучшить производительность доступа к данным, а также уменьшить износ твердотельных (SSD) накопителей. - Параметр
noatime
полностью отключает запись времени доступа к файлу. Большинство программ не используют это поле. Но бывают и редкие исключения — например, Mutt полагается на его значение. Для mutt вы можете использовать параметр . - Параметр отключает обновление времени доступа только для каталогов; для остальных файлов время atime будет обновляться всегда.
- Параметр включает обновление поля только если atime меньше времени последнего изменения файла или если с предыдущего обновления прошло больше 24 часов. Этот параметр автоматически используется при использовании параметра
defaults
или параметра (который означает значение по умолчанию в ядре, которым является ; смотрите и wikipedia:Stat (system call)#Criticism of atime) и если не указаны никакие опции.
В ядре 4.0 появилась ещё одна опция:
- уменьшает количество операций записи на диск, сохраняя изменения временных меток inode (время доступа, изменения и создания) только в памяти. Временные метки на диске обновляются только тогда, когда (1) inode файла необходимо обновить для некоторых изменений, не связанных с временными метками файла, (2) происходит синхронизация с диском, (3) восстановленный inode вытесняется из памяти или (4 ), если с момента последней записи на диск хранящейся в памяти копии прошло более 24 часов.
Перемонтирование корневого раздела
Если по какой-то причине корневой раздел был неправильно смонтирован только на чтение, вы можете перемонтировать его с доступом на чтение-запись без перезагрузки, набрав
# mount -o remount,rw /
Автомонтирование GPT-раздела
При использовании UEFI/GPT вы можете избавиться от необходимости указывать некоторые разделы в /etc/fstab
, разметив их в соответствии с Discoverable Partitions Specification, и примонтировать эти разделы с помощью. Смотрите systemd (Русский)#Автомонтирование GPT-раздела.
Смотрите также
- Полный список устройств, включающий также блочные устройства
- Стандарт иерархии файловой системы (FHS)
- Ускорение веб-сайта в 30 раз (подробнее о tmpfs)