Файл fstab служит для автоматического монтирования файловых систем, подключенных к компьютеру. Это относится как к физическим носителям (жестким дискам, флешкам), так и к сетевым файловым системам — smb/cifs, nfs, sshfs и т.п.
Имена дисков могут меняться при добавлении, переключении в другой порт, изъятии диска. Поэтому по избежании неприятностей при загрузке рекомендуется производить монтирования дисков по UUID. Выяснить UUID можно с помощью команды blkid.
Например, нам нужно прописать автоматическое монтирование флешки. Первым делом нужно выяснить имя дисков.
ubuntu@server:~$ sudo fdisk -l [sudo] password for ubuntu: Disk /dev/sda: 232,9 GiB, 250058268160 bytes, 488395055 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xd697ebbf Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 480286719 480284672 229G 83 Linux /dev/sda2 480288766 488394751 8105986 3,9G 5 Extended /dev/sda5 480288768 488394751 8105984 3,9G 82 Linux swap / Solaris Disk /dev/sdb: 7.4 GiB, 7902068736 bytes, 15433728 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xcad4ebea Device Boot Start End Sectors Size Id Type /dev/sdb4 * 256 15433727 15433472 7.4G b W95 FAT32
Нас интересует раздел sda4. Теперь узнаем его UUID.
ubuntu@server:~ $ blkid /dev/sdb4 /dev/sdb4: LABEL="2.5.0-25-am" UUID="B4FE-5315" TYPE="ext4" PARTUUID="cad4ebea-04"
Прописываем его монтирование в fstab.
ubuntu@server:~$ sudo nano /etc/fstab
Монтируем диск с UUID B4FE-5315 в каталог /media/usb-disk с файловой системой ext4 со значениями по умолчанию (defaults).
/dev/disk/by-uuid/B4FE-5315 /media/usb-disk ext4 defaults 0 2
В четвертом поле строки прописываются опции монтировании в fstab.
№ | Параметр | Назначение | Значение |
1. | exec | Разрешает запуск исполняемых файлов. | включено |
2. | noexec | Запрещает запуск исполняемых файлов | |
3. | rw | Устанавливает права на чтение и запись | включено |
4. | ro | Устанавливает права только на чтение | |
5. | nouser | Запретить обычным пользователям подключать/отключать устройство. | |
6. | user | Разрешить обычным пользователям подключать/отключать устройство. | |
7. | sw или swap | Специальный параметр swap области | |
8. | async | Включение опции асинхронного ввода/вывода. Любая операция (копирование файла, удаление и т.д.) будет происходить немного позже, чем дана команда. Помогает в распределении нагрузки ОС, последняя сама выбирает подходящее время. | |
9. | sync | Включение опции синхронного ввода/вывода. Любая операция происходит синхронно с командой. | |
10. | suid | Разрешить работу SUID и SGID битов. Бит SUID, у исполняемого файла, повышает запустившему пользователю права до владельца этого файла. К примеру, если root создал исполняемый файл с битом SUID, то пользователь, запустивший этот файл, получает на время исполнения файла права суперпользователя. Бит SGID, у исполняемого файла, повышает запустившему пользователю права до группы владельца этого файла. | |
11. | nosuid | Заблокировать работу SUID и SGID битов для устройства. | включено |
12. | errors=remount-ro | При ошибке перемонтировать с параметром только для чтения (ro). | |
13. | notail | Запрещает хранить маленькие файлы в хвостах больших. Увеличивает быстродействие. | |
14. | atime | Производить запись времени последнего доступа к файлу. | включено |
15. | noatime | Отключение записи времени последнего доступа к файлу. Увеличивает быстродействие файловой системы. Эта опция не рекомендуется стандартом POSIX, так как некоторые приложения требуют этой функции (к примеру, почтовые клиенты и программы нотификации о новой почте перестанут правильно работать). | |
16. | realime | Включение обновления времени последнего обращения к файлу только в том случае, если предыдущее время доступа было раньше, чем текущее время изменения файла. Это более лояльный подход, чем noatime. | |
17. | defaults | Использование всех параметров по-умолчанию: exec, auto, rw, nouser, async, nosuid, atime |
Пятое поле строки указывает на необходимость программе dump создавать резервные копии раздела.
0 — не создавать резервные копии.
1 — разрешить создание резервных копий.
Шестое поле строки указывает команде fsck (проверки диска на ошибки) на необходимость проверки файловой системы.
0 — раздел не будет проверятся.
1 — раздел будет проверяться в первую очередь.
2 — раздел будет проверяться после раздела со значением 1.
Типичный пример файла fstab:
# <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda1 during installation UUID=82e1c75d-47b4-4499-8fa8-cf10a544a972 / ext4 errors=remount-ro 0 1 UUID=0320d837-d76a-49b1-921a-96e2f27f4fb6 none swap sw 0 0 UUID=a7ab3b49-762e-4c86-9372-a7a7186a8afe /media/ssdc ext4 defaults 0 0