FSTAB редактирование
Блочное устройство
То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda (диск целиком) или /dev/hdc1 (раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится.
id
Узнать UUID раздела можно из вывода команды
blkid
Если uuid, тип файловой системы и точки монтирования мы знаем, то с опциями монтирования - сложнее. К счастью, тут можно схитрить8 ). Дело в том, что записи о всех смонтированных дисках попадают в специальный файл /etc/mtab, а формат записей этого файла ровно такой же, как и у /etc/fstab. Поэтому если вам надо добавить запись для какого-то раздела винчестера в fstab просто зайдите на него через в Nautilus, при этом он автоматически смонтируется в подкаталог /media и следовательно запись о нём появится в mtab. Теперь откройте mtab, найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в fstab, заменив имя диска на его uuid и точку монтирования на желаемую. Кроме того, если в качестве ФС в mtab записано fuseblk, то при копировании необходимо подставить вместо этого значения имя своей файловой системы. Если вы не знаете, как правильно должна называться ваша ФС в fstab, то поищите информацию на эту тему в интернете. И если вы не наделаете ошибок при замене, то при следующей загрузке диск смонтируется туда, куда вы указали. Более подробно про опции монтирования можно узнать из статьи на нашей Wiki.
===============================
Файл fstab
Содержание
- Пример файла fstab
- Блочное устройство
- Точка монтирования
- Файловая система
- Опции файловых систем
- Ссылки
Файл fstab - это текстовый файл, который содержит информацию о различных файловых системах и устройствах хранения информации в вашем компьютере. Это всего лишь один файл, определяющий, как диск и/или раздел будут использоваться и как будут встроены в остальную систему. Полный путь к файлу - /etc/fstab. Этот файл можно открыть в любом текстовом редакторе, но редактировать его возможно только от имени суперпользователя , т.к. файл является важной, неотъемлемой частью системы, без него система не загрузится.
- Открыть файл fstab для редактирования, например в текстовом редакторе gedit , вы можете набрав команду в терминале :
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
#/dev/sdb1
UUID=54AE4096AE407292 /mnt/backup ntfs-3g defaults,windows_names,locale=en_US.utf8 0 0
Строки файла содержат следующие поля:
- Что монтируем — некоторое блочное устройство, которое должно быть примонтировано
- Куда монтируем — точка монтирования - путь в корневой файловой системе к каталогу в который будет смонтировано устройство
- Тип файловой системы монтируемого раздела
- Опции монтирования файловой системы
- Индикатор необходимости делать резервную копию (как правило не используется и равно 0)
- Порядок проверки раздела (0- не проверять, 1 - устанавливается для корня, 2 - для остальных разделов).
Поля в файле fstab отделяются друг от друга пробелами или знаками табуляция (произвольным количеством - любой набор пробелов и табуляций считается просто разделителем между двумя полями). Значения в списке опций разделяются запятыми без пробелов. Если опций нет, то указывается специальная опция defaults (указывать defaults вместе с другими опциями не нужно). Строки, начинающиеся с символа #, являются комментариями. Пустые строки игнорируются. В конце файла требуется одна пустая строка.
Блочное устройство
То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda (диск целиком) или /dev/hdc1 (раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится.
Узнать UUID раздела можно из вывода команды
blkid
Кроме UUID монтировать можно еще и по другим адресам устройств, вот они:
ls -Rhal /dev/disk/by-*
Эти адреса являются ссылками на те же /dev/sd*.
Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из by-id (название), для iSCSI-тома — by-path (используется сетевой адрес и название «цели»).
Точка монтирования
Каталог, в который монтируется файловая система, к примеру /media/disc. Крайне желательно, чтобы он был пустым. Монтировать в непустой каталог тоже можно, но при этом вы заблокируете доступ ко всему содержимому каталога, ведь после монтирование содержимым каталога будет содержимое той файловой системы что была смонтирована.
Файловая система
Обычно что-то из следующего:
- ext4
- swap (раздел подкачки)
- btrfs (B-tree file system),
- xfs
- jfs
- ext3
- ext2
- hfsplus (Apple HFS)
- ntfs-3g (Microsoft NTFS)
- vfat (Microsoft FAT16, FAT32)
- iso9660 (CD/DVD диски)
- udf (съёмные носители).
Примеры монтирования разделов рассмотрены в соответствующей статье
Опции файловых систем
(указываются через запятую, без пробелов) :
Опции |
Описание |
Общие |
Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) - например, опция 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). |
NTFS
Опции для файловой системы Microsoft NTFS |
nls=utf8 |
Включение поддержки utf-8 . Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
codepage=866 |
Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее . |
FAT 32
Опции для файловой системы Microsoft FAT |
utf8 |
Включение поддержки utf-8 . Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
codepage=866 |
Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее . |
btrfs
Все опции ради совместимости и отсутствия проблем применяются c ядром 3.0+
Опции для файловой системы btrfs |
subvol=subvolume_name |
Монтирует корень указанного подраздела subvolume_name, где subvolume_name - путь к нему в корне btrfs. |
autodefrag |
Дефрагментация на «лету», не применять для SSD |
noacl |
Отключить контроль доступа к файлам (права) |
compression |
compress=zlib |
Включение прозрачного сжатия с алгоритмом gzip (медленнее lzo, но лучше сжимает) |
compress=lzo |
Включает алгоритм прозрачного сжатия lzo (быстрее gzip, немного хуже сжимает) Btrfs LZO Compression Performance . |
compress=no |
Без компрессии с версии ядра 3.6 |
compress-force=… |
Применяется аналогично compress, опция force позволяет выполнять компрессию файлов, которые обычно имеют низкий коэффициент сжатия (таких, как сжатые аудио или видео форматы). |
cache |
inode_cache |
(>3,0) Включить кэширование inode. Эта опция может замедлить работу системы при первом запуске. |
space_cache |
Кэширование данных о свободных блоках, чтобы не искать их перед записью |
clear_cache |
(>2.6.37) Очищает весь кеш свободного места, после монтирования. Это безопасная опция, но вызывает пересоздание кеша. |
nospace_cache |
(>3.2) выключает space_cache |
другие |
skip_balance |
(>3.3)Пропускает автоматическую балансировку после монтирования или неправильного выключения. |
nodatasum |
Не высчитывать хэш-сумму, для новых файлов. Некоторый мусор и ошибки могут быть не замечены, но позволяет ускорить работу с FS. На большинстве современных CPU не даст ощутимого прироста к производительности. |
SSD |
ssd |
Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей, отключается последовательная запись файлов. Эта опция включается автоматически, если вращение диска = 0. Не влечет за собой включения параметров TRIM/discard. |
ssd_spread |
Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD. |
recovery and debug |
recovery |
(>3.2)Включает автовосстановление после монтирования, на данный момент сканирует старые списки корней и деревьев, которые можно прочесть. Информация о корнях деревьев сохраняется с версии ядра > 3.2, старые ядра не смогут использовать режим восстановления. Практика показала что оно работает, но нужно иметь снимки файловой системы и оно просто вытаскивает списки корней и деревьев из снимков если таковые имеются |
degraded |
Используйте это, если у вас есть несколько устройств в объеме Btrfs (одна из RAID конфигураций или несколько дисков в Single или DUP режиме) и одно из них не монтируется. Это позволит вам по-прежнему монтировать файловую систему, даже если неисправное устройство выдаёт ошибки. |
enospc_debug |
Используйте, если столкнулись с ошибкой «Не хватает места» |
Актуально для выбора алгоритма сжатия (смотрите как соотносятся реализованные в BTRFS LZO и zlib) Один поток, Core 2 Duo 3GHz
Name Ratio C.speed D.speed
LZ4 (r59) 2.084 330 915
LZO 2.05 1x_1 2.038 311 480
QuickLZ 1.5 -1 2.233 257 277
Snappy 1.0.5 2.024 227 729
LZF 2.076 197 465
FastLZ 2.030 190 420
zlib 1.2.5 -1 2.728 39 195
LZ4 HC (r66) 2.712 18 1020
zlib 1.2.5 -6 3.095 14 210