Файл fstab - это текстовый файл, который содержит информацию о различных файловых системах и устройствах хранения информации в вашем компьютере. Это всего лишь один файл, определяющий, как диск и/или раздел будут использоваться и как будут встроены в остальную систему. Полный путь к файлу - /etc/fstab. Этот файл можно открыть в любом текстовом редакторе, но редактировать его возможно только от имени суперпользователя, т.к. файл является важной, неотъемлемой частью системы, без него система не загрузится.
sudo gedit /etc/fstab
- Предварительно рекомендуется создать резервную копию:
sudo cp /etc/fstab /etc/fstab_backup
Пример файла fstab
- Пример файла fstab c примонтированными Windows-дисками sda3 (С:) и sda4 (D:):
# <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # / was on /dev/sda1 during installation UUID=7211313d-8b5e-4b96-be63-5dbbeb97f590 / ext4 errors=remount-ro 0 1 # swap was on /dev/sda2 during installation UUID=8ef72438-830b-485f-8de5-b0f6242eff91 none swap sw 0 0 # Windows disc (FAT32) C:\ /dev/sda3 /media/D642D91542D8FAE7 vfat shortname=mixed,codepage=850,umask=002,uid=1000,gid=100,noauto,user 0 0 # Windows disc (NTFS) D:\ /dev/sda4 /media/BA1AF3B41AF36C2F ntfs-3g rw,nosuid,nodev,allow_other,default_permissions,blksize=4096 0 0
Строки файла содержат следующие поля:
- Что монтируем — некоторое блочное устройство, которое должно быть примонтировано
- Куда монтируем — точка монтирования
- Тип файловой системы монтируемого раздела
- Опции для файловой системы
- Индикатор необходимости делать резервную копию (как правило не используется и равно 0)
- Порядок проверки раздела (0- не проверять, 1 - устанавливается для корня, 2 - для остальных разделов).
Блочное устройство
То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda или /dev/hdc1, но обратиться к ним можно и по другим адресам, вот они:
ls -Rhal /dev/disk/by-*
Эти адреса являются ссылками на те же /dev/sd*.
Монтировать корневой раздел и другие разделы встроенного диска стоит по UUID (это позволит правильно монтировать разделы даже если они поменяют свой порядок на диске. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7, но UUID его не изменится.
Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из by-id (название), для iSCSI-тома — by-path (используется сетевой адрес и название «цели»).
Точка монтирования
Каталог, в который монтируется файловая система, к примеру /media/disc. Крайне желательно, чтобы он был пустым. Монтировать в непустой каталог можно только тогда, когда точно знаешь, что делаешь.
Примеры монтирования разделов
Обозначения и опции файловых систем
- Обозначения файловых систем (наиболее часто используемые):
| Обозначение в /etc/fstab | Тип файловой системы |
|---|---|
| vfat | Microsoft FAT16, FAT32 |
| ntfs-3g | Microsoft NTFS |
| ext2 | Ext2 |
| ext3 | Ext3 |
| ext4 | Ext4 |
| xfs | XFS |
| jfs | JFS |
| btrfs | Btrfs (B-tree file system) |
| swap | Раздел подкачки |
| iso9660 | CD/DVD диски |
| udf | UDF, съёмные носители |
| auto | Floppy дисковод |
| hfsplus | Apple HFS |
- Опции файловых систем (указываются через запятую, без пробелов) :
| Опции | Описание |
|---|---|
| Общие | Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) - например, опция sync сегодня имеет силу только для ext2, ext3, fat, vfat и ufs |
| sync / async | Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно. |
| atime | Производить запись времени последнего доступа к файлу. Значение по умолчанию. |
| noatime | Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей). |
| relatime | Обновлять время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов) |
| norelatime | Не включать функцию relatime (например, для систем, в которых эта функция включена по умолчанию, для более подробной информации см. параметры монтирования в /proc/mounts). |
| strictatime | Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime. |
| nostrictatime | Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию. |
| auto / noauto | При auto устройство будет устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. Если вы не хотите, чтобы устройство устанавливалось автоматически, используйте параметр noauto. |
| context= fscontext= defcontext= rootcontext= | Эти опции полезны при монтировании файловой систем, которые не поддерживают дополнительные атрибуты, такие как дискеты или жесткие диски отформатирован в VFAT, или файловые системы, которые обычно не работает под SELinux (например ext3 диск отформатированный на не-SELinux рабочей станции). Вы можете также использовать *context= для файловых систем которым вы не доверяете, например на дискетах или флешках. Более подробно о контексте можно узнать прочитав о SELinux. |
| defaults | Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async. |
| dev / nodev | Интерпретировать/не интерпретировать блок специальных устройств на файловой системе. |
| diratime / nodiratime | Обновлять/не обновлять время доступа к каталогу структуры данных. По умолчанию установлено diratime |
| dirsync | Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename. |
| exec / noexec | exec позволяет выполнять двоичные файлы, которые находятся на этом раздел, в то время как noexec не позволяет этого делать. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела. |
| group | Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid). |
| encryption | Определяет используемый алгоритм шифрования. Используется в сочетании с опцией loop. |
| keybits | Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption. |
| nofail | В случае отсутствия устройства не сообщать об ошибке. |
| iversion | Номер версии структуры данных увеличивается каждый раз, когда структура данных изменяется. |
| noiversion | Номер версии структуры данных не увеличивается при изменении структуры данных. |
| mand | Разрешает принудительное блокирование файловой системы. |
| nomand | Не разрешает принудительное блокирование файловой системы. |
| _netdev | Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети. |
| suid / nosuid | Разрешает использование битовых идентификаторов пользователей или групп / Запрещает использование битовых идентификаторов пользователей или групп. (Это достаточно небезопасно, особенно, если установлен suidperl). |
| owner | Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev). |
| ro | Монтировать только для чтения. |
| rw | Монтирование файловой системы для чтения и записи. |
| user / nouser | user - разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию). |
| users | Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev). |
| Опции для файловой системы adfs (ОС Microsoft Server) | |
| uid= gid= | Идентификаторы пользователя и группы. По умолчанию uid=gid=0. |
| ownmask= othmask= | Устанавливает маску для установок прав доступа владельца и остальных пользователей, соответственно. (По умолчанию 0700 и 0077, соответственно). |
| Опции для файловой системы affs (ОС AmigaFFS) | |
| uid= gid= | Идентификаторы пользователя и группы. По умолчанию uid=gid=0, но допускаются uid или gid без определенного значения, в таком случае принимаются uid и gid текущего процесса). |
| setuid= setgid= | Устанавливают пользователя и группу для всех файлов. |
| setuid= setgid= | Устанавливают пользователя и группу для всех файлов. |
| mode= setgid= | Устанавливает значение кода доступа как значение mode и 0777 независимо от первоначального значения кода доступа. Дополнительно ищет коды доступа в папках, доступных для чтения. Значение указывается в восьмеричном виде. |
| protect | Запрещает любые изменения защищённых битов файловой системы |
| fmask=xxxx | Устанавливает маску для установок прав доступа групп к файлам. Значение указывается в восьмеричном виде. |
| dmask=xxxx | Устанавливает маску (образец) для установок прав доступа групп к директориям (папкам). Значение указывается в восьмеричном виде. |
| umask=xxx | Устанавливает маску (образец) для установок прав доступа групп к файлам и директориям (папкам). Значение указывается в восьмеричном виде. |
| uid=xxxx | Идентификатор пользователя |
| iocharset=utf8 | Добавляет поддержку кодировок в названиях файлов и директорий. Применяется при необходимости. |
| errors=remount-ro | При ошибке перемонтировать с параметром только для чтения (ro). |
| data=writeback data=ordered data=journal | Указываем тип журналирования: writeback - журналируются только метаданные, максимальная производительность. Возможно повреждение данных. ordered - тоже что и writeback, но без повреждения данных. Медленнее. journal - полное журналирование файловой системы. Самый медленный. Максимальный уровень сохранности информации при сбое. |
| quiet | система не показывает ошибки когда мы попытаемся изменить параметры настройки файла, не поддерживает VAT |
| showexec | Все исполняемые файлы Windows (.exe/.com и тд.) получат возможность запуска ( тоже что и chmod 770 ). |
| Опции для файловой системы Microsoft NTFS | |
| nls=utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
| codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее. |
| Опции для файловой системы Microsoft FAT | |
| utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
| codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее. |