- Автоматическое монтирование разделов с помощью fstab
- Немного о том, как происходит монтирование
- Синтаксис записей в файле fstab
- Опции fstab
- Примеры
- Заключение
- В помощь.
- Инструменты пользователя
- Инструменты сайта
- Содержание
- fstab. Параметры монтирования блочных устройств
- Пример файла
- Формат строки
- filesystem
- options
- Определение файловой системы
- По именам устройств
- По меткам
- По UUID
- По меткам GPT
- По UUID GPT
- Дополнительная информация
- Автоматическое монтирование с systemd
- Пробелы в значениях полей
- Внешние устройства
- Параметры atime
- Запись в FAT32 с правами обычного пользователя
- Перемонтирование корневого раздела
Автоматическое монтирование разделов с помощью fstab
В процессе работы с операционной системой (ОС) пользователю нередко приходится подключать различные устройства хранения. Это могут быть жёсткие диски (переносные или с другого компьютера), Flash/M2-накопители, приводы оптических дисков и т. д. Некоторые такие устройства подключаются (в Linux монтируются) вручную, а некоторые — автоматически. Чаще всего те устройства, которые необходимо подключать автоматически, определяются ещё на этапе установки системы. Однако, нередко нужно настроить возможность автоматического монтирования в Linux вновь добавленного устройства, например диска для хранения регулярно создаваемых резервных копий. В этом случае необходимо сделать некоторые изменения в конфигурационных файлах. Это позволит системе инициализации начальной загрузки системы «узнать» об автоматически монтируемых устройствах.
Немного о том, как происходит монтирование
Монтирование файловой системы — это один из обязательных этапов начальной загрузки Linux. Монтирование необходимо для того, чтобы собрать файловую систему (ФС) из отдельных её компонентов в единое дерево каталогов, имеющее один корень. В Linux нет понятия «диск» как такового. Это физический уровень, отображаемый в общее дерево файловой системы через другие файловые системы, связанные, например, с разделами дисков и подключаемые через точки монтирования.
Например, один из разделов устройства хранения (диска) может быть смонтирован как «/home». Эта запись обозначает точку монтирования ФС с домашними каталогами пользователей системы. Здесь символ «/» указывает, что к общему корню (к корневой ФС) подключена другая ФС с именем «home». А она в свою очередь привязана к какому-либо из разделов на устройстве хранения.
Монтирование в Linux выполняет команда mount. Она вызывается системой инициализации (такой например, как Systemd), но также широко используется для ручного подключения устройств.
Конфигурационным файлом, хранящим настройки подключения устройств является /etc/fstab . Система инициализации при запуске системы обращается к этому файлу, чтобы смонтировать ФС согласно указанным в нём настройкам. Содержимое файла /etc/fsta b – это список текстовых строк, каждой из которых соответствует раздел на устройстве, который необходимо примонтировать с определёнными параметрами, указанными в этой строке. Правила записи этих строк соответствуют определённому (и несложному) синтаксису.
Синтаксис записей в файле fstab
Сначала может показаться, что запись для строки монтирования довольно сложна. Однако, при более пристальном разборе такой строки становится очевидным назначение её компонентов. Записи подчиняются следующему синтаксису:
Согласно этому синтаксису рабочая строка монтирования устройства может выглядеть, например, следующим образом:
Самым сложным для восприятия компонентом в такой записи является «устройство», поскольку представляет собой целое выражение. В данном случае это «UUID=7dac48f7-9891-4e5d-abe9-1332d860183e», что означает ничто иное как идентификатор устройства (UUID) в системе, который понятен ядру. Далее следуют:
- /opt – точка монтирования, которая задаётся «ветвью» — т. е. дополнительной ФС, включаемой в корневую ФС и кроме /opt, конечно же могут быть и другие — /home, /var, /etc и т. д.;
- ext4 – тип файловой системы, в качестве которой могут быть любые другие — ext2, ext4, btrfs и т. д.;
- defaults – опции монтирования ФС устройства по умолчанию;
- 0 — создание резервной копии раздела отключено, для включения необходимо указывать 1;
- 2 — проверка устройства на наличие ошибок во вторую очередь (0 — отключено), для первой и третьей необходимо указывать 1 и 3 соответственно и т. д.
Важно заметить, что в Linux в качестве идентификатора устройства может выступать как UUID (универсальный идентификатор устройства), так и имя устройства, например /dev/sda , /dev/sdb1 и т. д. Рекомендуется использовать именно UUID, поскольку этот идентификатор является по-настоящему уникальным и жестко привязан к конкретному устройству. А вот одно имя устройства может соответствовать разным устройствам, хотя и не одновременно, но всё же необходимо иметь это ввиду во избежание конфликтов и путаницы при обновлении/изменении конфигурации системы и/или подключении/отключении новых устройств. Узнать UUID для зарегистрированных в системе устройств (соответственно их наименованиям) позволяет команда blkid, выполненная от имени суперпользователя:
Стоит уделить особое внимание опциям монтирования устройств, поскольку их набор довольно разнообразен и позволяет довольно гибко задавать различные режимы подключения и работы устройств. В следующей таблице приведены наиболее часто используемые из них:
Опции fstab
Опция | Значение |
exec | Разрешает запускать исполняемые файлы. |
noexec | Запрещает запускать исполняемые файлы. |
auto | Автоматическое монтирование раздела устройства при старте системы. |
noauto | Запретить автоматическое монтирование раздела устройства при старте системы. |
rw | Разрешить чтение/запись. |
ro | Разрешить только чтение. |
nouser | Не разрешать обычным пользователям выполнять монтирование/демонтирование устройств. |
user | Разрешить обычным пользователям выполнять монтирование/демонтирование устройств. |
sw (swap) | Разрешить подкачку для раздела. |
async | Включить асинхронный ввод/вывод. При этом действия с разделом (копирование, удаление и т. д.) будут происходить не сразу по команде, а в определённое время, чуть позже, по усмотрению системы. Данная опция используется для оптимизации/распределения нагрузки. |
sync | Включить синхронный ввод/вывод. |
suid | Разрешить работу SUID и SGID битов. |
nosuid | Запретить работу SUID и SGID битов. |
iocharset=koi8-r |
codepage=866
Также следует подробнее рассмотреть типы ФС, используемых при монтировании. Нужно представлять, для каких типов устройств можно использовать тот или тип ФС. Например:
Жесткие диски:
- UDF;
- ISO9669
- auto – может распознаваться автоматически.
Следует отметить, что не смотря на то, что все вышеперечисленные параметры приводятся в стандартном написании, т. е. заглавными символами, однако записывать их непосредственно в строке монтирования необходимо строчными символами.
Примеры
Пусть требуется сконфигурировать автоматическое монтирование какого-либо раздела. Для начала необходимо определить нужный раздел, а также его UUID:
Если нужен, к примеру раздел /dev/sdb1 , то соответствующим UUID является «af882c18-2cd4». Далее следует открыть файл /etc/fstab в текстовом редакторе (например nano) от имени суперпользователя
и добавить в него строку конфигурации для требуемого раздела, внеся в неё параметры и опции в соответствии с синтаксисом из предыдущей главы, например такие:
Теперь при старте системы раздел /dev/sdb1 будет монтироваться автоматически и, соответственно, сразу готов к использованию.
Если нужно автоматически монтировать другой тип устройства, например CD/DVD, то строка конфигурации для него будет примерно следующей:
Здесь вместо /dev/cdrom можно указывать также и /dev/sr0 , если это первый и/или единственный оптический привод в системе.
Заключение
Итак, были рассмотрены основные принципы монтирования устройств в Linux, а также синтаксис и часто встречающиеся параметры и опции для их автоматического подключения. Как можно видеть, для работы с устройствами в UNIX/Linux используется специальная файловая система /dev. А для организации и настройки их автоматического монтирования.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
В помощь.
Инструменты пользователя
Инструменты сайта
Содержание
fstab. Параметры монтирования блочных устройств
Файл /etc/fstab используется для настройки параметров монтирования различных блочных устройств, разделов на диске и удаленных файловых систем.
Пример файла
Простой пример /etc/fstab , в котором файловые системы заданы по именам файлов устройств:
Формат строки
Каждая строка в файле /etc/fstab содержит следующие поля, разделенные пробелами или символами табуляции:
filesystem
Физическое место размещения файловой системы, по которому определяется конкретный раздел или устройство хранения для монтирования.
Точка монтирования, куда монтируется корень файловой системы.
Тип файловой системы. Поддерживается множество типов: ext2, ext3, ext4, btrfs, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap и auto. При выборе auto команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD).
options
Параметры монтирования файловой системы. Подробнее смотрите на 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. |
acl | Включить обработку ACL для раздела |
Используется утилитой dump для определения того, нужно ли создать резервную копию данных в файловой системе. Возможные значения: 0 или 1. Если указано число 1, dump создаст резервную копию. У большинства пользователей утилита dump не установлена, поэтому им следует указывать 0 в этом поле.
Используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Возможные значения: 0, 1 или 2. Значение 1 следует указывать только для корневой файловой системы (с точкой монтирования /); для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет.Обратите внимание, что в случае btrfs следует всегда указывать 0, даже если эта файловая система используется в качестве корневой. Файловые системы, для которых в поле указано значение 0, не будут проверяться fsck.
Определение файловой системы
Конкретное место расположения файловой системы может быть определено различными способами. В файле /etc/fstab можно указать имя файла устройства, его метку или UUID (в том числе GPT-метку и GPT-UUID для дисков GPT). Определение по UUID является наиболее предпочтительным способом. Далее приведены примеры определений файловых систем с использованием каждого из способов. Вывод lsblk -f and blkid для этих примеров вы можете найти на странице Persistent block device naming.
По именам устройств
Запустите lsblk -f , чтобы отобразить список разделов. Укажите имена устройств с префиксом /dev/ :
По меткам
Запустите lsblk -f , чтобы отобразить список разделов. Укажите метки из столбца LABEL с префиксом LABEL= :
По UUID
Запустите lsblk -f, чтобы отобразить список разделов. Укажите идентификаторы из столбца UUID с префиксом UUID= :
Совет: Если вы хотите отобразить только UUID конкретного раздела, используйте команду lsblk -no UUID /dev/sda2.
По меткам GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTLABEL без кавычек:
По UUID GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTUUID без кавычек:
Дополнительная информация
Автоматическое монтирование с systemd
Если у вас большой раздел /home, вы можете разрешить службам, которые не обращаются к /home, запускаться в то время, как /home проверяется программой fsck. Для этого добавьте следующие параметры монтирования в запись /etc/fstab для точки монтирования /home:
При этом процедура проверки и монтирования /home будет запущена только при первой попытке доступа, и ядро будет держать в ожидании все создаваемые потоки ввода-вывода в /home, пока раздел не будет смонтирован.
Обратите внимание: Ускорение при автоматическом монтировании /home может составлять не более секунды-двух, в зависимости от конфигурации вашей системы. При этом разделу /home будет присвоен тип файловой системы autofs, который по умолчанию игнорируется mlocate. Используйте эту возможность с осторожностью.
Автоматическое монтирование может аналогичным образом использоваться и для монтирования удаленных файловых систем. В дополнение, вы можете использовать параметр x-systemd.device-timeout=# для указания времени ожидания удаленной файловой системы при перебоях в соединении.
Обратите внимание: Если вы намереваетесь использовать флаг exec при автоматическом монтировании, вам следует удалить флаг user, чтобы монтирование производилось корректно.
Если у вас имеются зашифрованные файловые системы, вы можете также добавить параметр noauto в соответствующие записи в /etc/crypttab . Тогда systemd не будет пытаться открыть зашифрованное устройство во время загрузки системы, а сделает это при первой попытке доступа к файловой системе на этом устройстве, применив указанный файл ключа и затем автоматически смонтировав ФС. Это может дать выигрыш в несколько секунд при загрузке системы, например, если у вас зашифрованный RAID массив: systemd не придется ожидать готовности устройства.
Пробелы в значениях полей
Так как пробельные символы используются в fstab для разделения полей, их нельзя напрямую использовать в значениях полей. Любые пробелы в полях (например, значения PARTLABEL, LABEL или точки монтирования) должны быть заменены специальными управляющими последовательностями, которые состоят из обратной косой черты (\) и трех восьмеричных цифр (например, для пробела это \040):
Внешние устройства
Если устройство не подключено постоянно, и может отсутствовать во время загрузки системы, монтируйте его с параметром nofail. Это предотвратит появление ошибок при загрузке.
Параметры atime
Обратите внимание: Действие noatime перекрывает собой nodiratime. Нет необходимости указывать оба параметра.
Запись в FAT32 с правами обычного пользователя
Чтобы иметь возможность записи в разделе FAT32, вам следует указать правильные параметры монтирования в вашем файле /etc/fstab.
Флаг user означает, что любой пользователь сможет монтировать и размонтировать раздел /dev/sdX . Параметр rw дает доступ на чтение-запись; umask убирает указанные права — например, umask=111 удаляет права на выполнение. Проблема в том, что права на «выполнение» также удаляются у каталогов, поэтому мы должны исправить это при помощи параметра dmask=000 .
Без этих параметров все файлы будут восприниматься исполняемыми. Вы можете использовать параметр showexec вместо umask и dmask, при которой исполняемыми будут файлы, имеющие расширения исполняемых файлов Windows (.com, .exe, .bat).
Например, если ваш раздел FAT32 на /dev/sda9, и вы хотите смонтировать его в каталог /mnt/fat32, то вам следует использовать запись следующего вида:
Перемонтирование корневого раздела
Если по какой-то причине корневой раздел был неправильно смонтирован только на чтение, вы можете перемонтировать его с доступом на чтение-запись без перезагрузки, набрав
Источник