fstab (file system table) — конфигурационный файл Linux /etc/fstab, описывающий список файловых систем, которые монтируются автоматически при загрузке системы. Каждая строка определяет устройство (или сетевое хранилище), точку монтирования, тип файловой системы, параметры и поведение при ошибках.
Структура записи fstab
#
UUID=abc123... / ext4 errors=remount-ro 0 1
UUID=def456... /boot ext4 defaults 0 2
UUID=ghi789... /data xfs defaults,noatime 0 2
tmpfs /tmp tmpfs defaults,size=1G,mode=1777 0 0
//nas/share /mnt/nas cifs credentials=/etc/.smb 0 0
Поля fstab
- Device: UUID устройства (
UUID=...), device path (/dev/sda1), LABEL или сетевой путь - Mountpoint: директория, куда монтируется FS
- Fstype: ext4, xfs, btrfs, tmpfs, nfs, cifs, vfat
- Options: defaults, noatime, ro (только чтение), nofail (не прерывать загрузку при ошибке), _netdev (сетевая FS)
- Dump: 0 — не включать в резервное копирование dump, 1 — включать
- Pass: порядок fsck при загрузке: 0 — не проверять, 1 — корневая FS, 2 — остальные
Практические примеры
# Монтирование NFS-шары
server:/exports/data /mnt/data nfs defaults,_netdev 0 0
# Монтирование дополнительного SSD без проверки времени доступа (быстрее)
UUID=xxx /var/lib/mysql ext4 defaults,noatime,nodiratime 0 2
# tmpfs в памяти для временных файлов PHP-сессий
tmpfs /var/lib/php/sessions tmpfs defaults,size=512M,mode=1733 0 0
История
Файл fstab появился в ранних версиях UNIX в начале 1970-х годов. В System V UNIX и BSD он стал стандартом. Linux унаследовал fstab с первых версий (1991). С появлением systemd (2010–2012) появилась альтернатива: .mount unit-файлы systemd могут описывать точки монтирования независимо от fstab. Тем не менее fstab остаётся основным способом настройки монтирования на большинстве Linux-систем.
На что обращать внимание
Ошибка в fstab может привести к невозможности загрузить систему — всегда проверяй перед перезагрузкой: mount -a монтирует все записи из fstab без перезагрузки. Используй UUID вместо /dev/sdb1 — device-пути могут измениться при добавлении дисков. Для LVM-разделов используй /dev/mapper/ путь или UUID. Опция nofail критична для внешних дисков и сетевых шар: без неё отсутствие устройства при загрузке переводит систему в emergency mode. На VPS fstab часто содержит запись для swap-раздела.
История fstab
Файл /etc/fstab существует с ранних версий UNIX — System V (1979). Концепция автоматического монтирования файловых систем при загрузке была частью оригинального дизайна UNIX. В Linux fstab появился с первыми версиями ядра (1991). С переходом на systemd (Fedora 15, 2011; Ubuntu 15.04, 2015) systemd генерирует .mount юниты из fstab автоматически, но сам файл сохранился для обратной совместимости.
Типичные записи fstab
# Основной диск
UUID=abc123 / ext4 defaults 0 1
# Своп
UUID=def456 none swap sw 0 0
# NFS-монтирование
192.168.1.10:/share /mnt/share nfs rw,sync,hard,intr 0 0
# tmpfs в RAM
tmpfs /tmp tmpfs defaults,size=512m 0 0
# Внешний диск (не критичный)
UUID=ghi789 /mnt/backup ext4 defaults,nofail 0 2
На что обращать внимание
Ошибка в fstab при загрузке системы переводит её в emergency mode. Перед редактированием: сделай резервную копию cp /etc/fstab /etc/fstab.bak. После изменений тестируй без перезагрузки: mount -a — монтирует всё из fstab без reboot. Для UUID дисков: blkid выводит UUID всех устройств. Опция nofail обязательна для внешних дисков, NFS-шар и CIFS: без неё отсутствие устройства при загрузке вешает систему. На VPS fstab обычно содержит корневой раздел и swap; дополнительные диски добавляются при подключении block-устройств.