Монтирование разделов linux fstab

Автоматическое монтирование разделов с помощью 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 Включить поддержку кодировки KOI8-R для названий файлов и каталогов. errors=remount-ro При возникновении ошибок выполнять перемонтирование с опцией ro. notail Запретить хранить небольшие по объёму файлы в конце больших. Используется для повышения производительности. atime Выполнять запись времени последнего доступа к файлу. noatime Отключить запись времени последнего доступа к файлу. Не рекомендуется использовать, поскольку многим приложениям для корректной работы эти данные необходимы. Следует использовать эту опцию только для разделов, для которых не предусматривается проверка времени последнего доступа к файлам и необходимо существенно увеличить производительность работы с диском. relatime Включить «лояльный» режим записи времени последнего доступа к файлу. Запись будет производиться только если предыдущее время доступа является более ранним, чем текущее время изменения файла. defaults Включить все оптимальные параметры по-умолчанию: exec, auto, rw, nouser, async, nosuid, atime.

Также следует подробнее рассмотреть типы ФС, используемых при монтировании. Нужно представлять, для каких типов устройств можно использовать тот или тип ФС. Например:
Жесткие диски:

  • 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.

Источник

Руководство по Ubuntu для новичков

Содержание

Монтирование и fstab

В самом начале, при описании установки, я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли, что такое монтирование и для чего оно нужно, прочитайте снова статью про организацию файловой системы в Ubuntu. Ниже я попробую заполнить некоторые оставшиеся белые пятна.

Если вы с нетерпением ждали шаманств с терминалом и правки конфигурационных файлов, поздравляю, вы дождались! Вообще мне кажется, что скоро терминалом и конфигами впору будет пугать маленьких детей — столь отталкивающее мнение об этих инструментах присутствует у некоторых в принципе далёких от понимания упомянутых терминов людей. На самом деле обычно всё, конечно, очень просто, элегантно и логично. И у вас сейчас будет возможность в этом убедиться.

Монтирование и пункты меню «Переход»

Сначала немного общей теории. Она не очень лёгкая, но надеюсь вы уловите основную суть. Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки /media . Возможно, вы даже не преминули проверить это и убедиться в том, что и на самом деле всё обстоит именно так.

А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке, но не объяснил, зачем это нужно и что будет, если вы так не сделаете. Теперь постараюсь ликвидировать это упущение, попутно разложив по полочкам весь механизм монтирования.

В Ubuntu существует специальный файл, /etc/fstab , в котором хранятся настройки монтирования различных разделов, включая корень и swap. Существенная информация из этого файла заключается в первую очередь в соответствии точек монтирования разделам. При каждой загрузке Ubuntu читает этот файл и монтирует все перечисленные в нём диски в указанные для них места. Больше нигде никакой информации и точках монтирования в системе не хранится. Соответственно при установке в /etc/fstab записывается вся указанная вами информация о монтировании ваших разделов.

Различные флешки, внешние диски, плееры и прочие устройства монтируются автоматически при подключении к вашему компьютеру. Точкой монтирования в этом случае служит один из подкаталогов /media , обычно — с именем, соответствующим метке устройства 1) . За выдлением точек монтирования, определением файловой системы и решением других проблем следит Ubuntu — вам ничего делать не надо. Кроме того, все внешние устройства автоматически попадают в меню «Переход» и на рабочий стол, так что вы всегда можете легко получить к ним доступ 2) .

Проблемы начинаются только тогда, когда какое-то устройство было присоединено к компьютеру до загрузки Ubuntu, но для него нету записи в /etc/fstab . В этом случае оно будет смонтировано только при вашем первом к нему обращении. Естественно, по всё тем же правилам подключения внешних источников, то есть в автоматически созданный подкаталог директории /media . В случае с флешками это некритично — в конце концов при первом вашем обращении к флешке вы всё равно сразу же получите доступ к её содержимому и вам вообще не нужно задумываться не то, что о всяких /etc/fstab , а даже просто о значении термина «монтирование». Но дело в том, что Ubuntu ровно так же будет обрабатывать и неуказанные в /etc/fstab разделы винчестера. И в чём же проблема, спросите вы?

Проблема в том, что зачастую получить доступ к содержимому винчестера нужно сразу после загрузки и до того, как вы вручную зайдёте на нужный диск. Это связано с тем, что многие программы работают с файлами без вашего непосредственного участия. Например, различные торрент-клиенты, плееры и прочие приложения, которые постоянно обращаются к файлам на винчестере, просто не смогут работать, пока вы не перейдёте на нужный диск. Кроме того, при автоматическом назначении точки монтирования в момент первого обращения есть ещё одна небольшая проблема: вообще говоря никто не может гарантировать, что каждый раз будет использоваться одна и та же точка монтирования. А это значит, что могут меняться полные пути до всех файлов, что вообще приведёт к невозможности работы с ними большого количества приложений, вроде тех же торрент-клиентов.

В общем, вы наверно уже поняли, что все нужные вам разделы должны присутствовать в /etc/fstab , чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними.

Вопрос остаётся только один: а какие указывать точки монтирования для разделов? Если вы помните, при описании установки я говорил вам монтировать все дополнительные разделы в подкаталоги /media . Это и есть самый распространённый способ указания точек монтирования, однако далеко не единственный. Дело в том, что всё, смонтированное в подкаталоги /media , автоматически попадает в меню «Переход» и на рабочий стол. Но иногда хочется скрыть некоторые разделы и убрать их из всех списков и меню. Логичным решением было бы просто удалить запись о ненужном разделе из /etc/fstab . Однако это не приведёт к желаемому результату, поскольку точка монтирования для раздела, не указанного в /etc/fstab , автоматически всё равно будет назначаться в подкаталог /media , соответственно, диск всё равно будет доступен через меню «Переход». А скрыть диск на самом деле очень просто: нужно указать точку монтирования для раздела не в подкаталог /media , а в другую часть файлового дерева.

Например, в подкаталог /hidden/data 3) . При этом диск исчезнет из всех графических программ, но к его содержимому всё же будет доступ по полному пути относительно корня 4) .

На всякий случай хочу обратить внимание на две вещи: во-первых, указанный в качестве точки монтирования для любого диска каталог должен существовать в файловой системе. То есть если вы хотите смонтировать какое-то устройство в /hidden/data , то у вас должен существовать каталог /hidden/data . И при этом он должен быть пустой, т.к. его содержимым после монтирования будет являться содержимое подключаемого устройства. А во-вторых права на запись файлов на подключаемые устройства определяются правами на запись в точку монтирования. То есть если вы что-то монтируете в /media/data , то у вас должны быть нужным образом установлены владелец, группа и права доступа к каталогу /media/data .

Осталось только немного рассказать про системные директории, вроде /home , и про их отношение к процессу монтирования. Конкретно в /home хранятся домашние каталоги для всех пользователей компьютера. Помните, при рассказе про установку я говорил, что /home рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы? Это нужно для того, чтобы можно было, например, отформатировать системный раздел и поставить систему заново, при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё этого не поняли, тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов, но и выносить на отдельные разделы любые системные каталоги 5) .

Вот так всё запутанно и с первого взгляда сложно. Если вы не уловили суть вопроса, то ничего страшного, просто запомните, что для всех разделов винчестера обязательно должны быть записи в /etc/fstab , а обо всём остальном за вас позаботится система, вот и вся соль.

Конфигурационный файл /etc/fstab

А теперь собственно к практике. Осталось только рассказать, как же устроен файл /etc/fstab и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права root . Если вы забыли, как редактировать конфигурационные файлы системы, прочитайте снова статью про права доступа.

Итак, открыв /etc/fstab вы увидите достаточно небольшое содержимое, у меня этот файл выглядит так:

Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки ( # ), являются комментариями и системой игнорируются. Формат каждой записи очень простой:

Помните, в статье про разметку диска я рассказывал, что разделы винчестера в Linux именуются как sdaX (или sdbX , sdcX и т.д. если у вас несколько винчестеров). Так вот, в fstab используется несколько другой механизм идентификации винчестеров 6) . Для этой цели используются так называемые uuid , достаточно длинные строчки из произвольных букв латинского алфавита и цифр 7) . Для того, чтобы узнать uuid для нужного вам раздела выполните в терминале команду 8)

Вот как выглядит результат выполнения у меня:

Я думаю, понятно, что к чему, uuid для каждого раздела выделен голубым цветом.

Итак, первое поле записи в fstab для разделов винчестера выглядит так:

Второе поле — это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов.

А вот дальше начинаются хитрости и сложности, описывать которые я не буду. С файловой системой всё просто, а вот опции монтирования — это целая эпопея, требующая не одной отдельной статьи. А уж назначение двух цифирей в конце вообще покрыто мраком и мало кого интересует.

Но как-то указать все эти параметры всё-таки надо. К счастью, тут можно схитрить 9) . Дело в том, что записи о всех смонтированных дисках попадают в специальный файл /etc/mtab , а формат записей этого файла ровно такой же, как и у /etc/fstab . Поэтому если вам надо добавить запись для какого-то раздела винчестера в fstab просто зайдите на него через меню «Переход», при этом он автоматически смонтируется в подкаталог /media и следовательно запись о нём появится в mtab . Теперь откройте mtab , найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в fstab , заменив имя диска на его uuid и точку монтирования на желаемую. Кроме того, если в качестве ФС в mtab записано fuseblk , то при копировании необходимо подставить вместо этого значения имя своей файловой системы. Если вы не знаете, как правильно должна называться ваша ФС в fstab , то поищите информацию на эту тему в интернете. И если вы не наделаете ошибок при замене, то при следующей загрузке диск смонтируется туда, куда вы указали.

На этом я заканчиваю краткое, хоть и достаточно запутанное, знакомство с файлом /etc/fstab и системой монтирования дисков в Ubuntu. Более того, на этом так же заканчивается вся информация, которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы, я завершу его статьей с красивым названием «Эпилог»:

Источник

Читайте также:  Xerox phaser 6500 драйвер windows 10
Оцените статью