fstab

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

fstab (сокр. от англ. file systems table) — один из конфигурационных файлов в UNIX-подобных системах, который содержит информацию о различных файловых системах и устройствах хранения информации компьютера; описывает, как диск (раздел) будет использоваться или как будет интегрирован в систему.

Полный путь к файлу — /etc/fstab.

Структура fstab

Каждая запись имеет следующие поля (которые разделяются пробелом или табуляцией):

<device-spec>	<mount-point>	<fs-type>	<options>	<dump>	<pass>
  • Поле, <device-spec> (устройство) сообщает демону монтирования файловых систем mount, что монтировать, имя монтируемого устройства или его метку.
  • Второе поле, <mount-point> (точка монтирования), определяет путь, по которому будет смонтировано устройство <device-spec>.
  • Поле <fs-type> (тип файловой системы) содержит тип файловой системы монтируемого устройства. Полный список поддерживаемых систем можно просмотреть выполнив команду:
man mount

Самые распространённые файловые системы: ext3, ext4, ReiserFS, XFS, JFS, smbfs, ISO9660, VFAT, NTFS, tmpfs, swap. Ключ auto не является файловой системой, он позволяет определять, какой тип файловой системы используется, автоматически. Это удобно для съёмных устройств, дисководов и CD-дисков.

  • Следующее поле называется <options> (опции). Если используются все значения по умолчанию, то используется специальный ключ defaults. Если хоть одна опция задана явно, то defaults указывать не нужно (defaults служит только для того, что была занята позиция в строке). Для полного списка опций используйте команду man mount.
auto Файловая система монтируется при загрузке автоматически или после выполнения команды 'mount -a'.
noauto Файловая система может быть смонтирована только вручную.
exec Позволяет исполнять бинарные файлы на разделе диска. Установлено по умолчанию.
noexec Бинарные файлы не выполняются. Использование опции на корневой системе приведёт к её неработоспособности.
ro Монтирует файловую систему только для чтения.
rw Монтирует файловую систему для чтения/записи.
sync Все операции ввода-вывода должны выполняться синхронно.
async Все операции ввода-вывода должны выполняться асинхронно.
user Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены.
nouser Только суперпользователь может монтировать файловую систему. Используется по умолчанию.
defaults Использовать значения по умолчанию. Соответствует набору rw, suid, dev, exec, auto, nouser, async.
suid Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи.
nosuid Запрещает операции с suid и sgid битами.
nodev Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевой каталог команды chroot всегда должны монтироваться с опцией dev или defaults.
atime Включает запись информации о последнем времени доступа (atime) при каждом чтении файла. Включено по умолчанию на Linux до v.2.6.29 включительно.
noatime Отключает запись информации о последнем времени доступа (atime) при каждом чтении файла.
relatime Включает запись информации о последнем времени доступа при чтении файла, если предыдущее время доступа (atime) меньше времени изменения файла (ctime). Включено по умолчанию на Linux начиная с v.2.6.30.
notail Отключает «упаковку хвостов файлов». Опция работает только с файловой системой ReiserFS.
size Используется для указания размера файловой системы. Опция работает только с файловой системой tmpfs.
nofail Используется в случае, если в fstab прописаны некоторые другие жёсткие диски, кроме основого (с системой, которая загружается), но в данный момент они физически не подключены к ПК. Чтобы при загрузке не выдавалась ошибка, приводящая к невозможности загрузки (система ищет по fstab отключенные диски, но не находит их), в строчках fstab-а с этими дисками и следует установить такой флаг - тогда эти диски будут проигнорированы при загрузке (до их подключения к ПК). При применении этого флага к подключенным дискам, никакого эффекта не наступает, флаг игнорируется.
  • <dump> - используется утилитой dump для того, чтобы определить, когда делать резервную копию. После установки, dump проверяет эту запись и использует значение, чтобы решить, подключать ли файловую систему. Возможные значения 0 или 1. Если 0, dump игнорирует файловую систему, если 1, dump сделает резервную копию. У большинства пользователей dump не установлен, поэтому в поле <dump> следует задать 0.
  • <pass> (номер прохода). fsck проверяет число, подставленное в поле <pass> и решает, в каком порядке проверять файловую систему. Возможные значения 0, 1 и 2. Файловые системы со значением <pass>, равным 0, не будут проверены утилитой fsck. У корневой системы должен быть наибольший приоритет, 1, остальные файловые системы должны иметь приоритет 2.

Вместо указания имени устройства, можно указать UUID или метку тома, написав LABEL=<label> или UUID=<uuid>, например, `LABEL=Boot' или `UUID=3e6be9de-8139-11d1-9106-a43f08d823a6'.

Примеры

Стоит обратить внимание на тот факт, что <options> могут быть составлены из нескольких значений разделенных запятой.

Пример файла fstab для GNU/Linux, где в системе имеется CD-привод, DVD-привод, FDD и один жесткий диск подключенный по IDE с тремя разделами (swap, корневой c файловой системой ext3 и домашний c xfs), в качестве устройства /dev/shm используется временная файловая система tmpfs, в /dev/pts смонтирована Devpts  (англ.):

# <device-spec>        <mount-point> <fs-type> <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0

/dev/cdrom             /mnt/cd   iso9660   ro,user,noauto,unhide   0      0
/dev/dvd               /mnt/dvd  udf       ro,user,noauto,unhide   0      0
/dev/fd0               /mnt/fl   auto      user,noauto             0      0

/dev/hda1              swap       swap      defaults               0      0
/dev/hda4              /          ext3      defaults               0      1
/dev/hda3              /home      xfs       rw,suid,exec,auto,nouser,async 0      2

Пример типового[1] файла fstab в FreeBSD:

# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a /    ufs  ro 1 1
/dev/ad0s1e /tmp ufs  rw 2 2
/dev/ad0s1f /usr ufs  rw 2 2
/dev/ad0s1d /var ufs  rw 2 2 

Примечания

Ссылки