Это старая версия документа.
Содержание
Монтирование и fstab
В самом начале, при описании установки, я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли, что такое монтирование и для чего оно нужно, прочитайте снова статью про организацию файловой системы в Ubuntu. В этой же статье я попробую заполнить некоторые оставшиеся белые пятна.
Если вы по ходу прочтения данного руководства всё ждали, когда же наконец я буду рассказывать про что-нибудь, что требует ручной правки конфигурационных файлов и шаманств с терминалом, то вы наконец-то дождались этого. В этой статье я действительно расскажу про один из важнейших конфигурационных файлов Linux, отвечающий за монтирование разделов винчестера. На самом деле даже в столь пугающей с первого взгляда теме нет ровным счётом ничего сложно, к счастью, времена, когда для нормальной работы в Linux нужно было быть как минимум квалифицированным программистом, давно прошли.
Монтирование и пункты меню "Переход"
Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки /media
, возможно, вы даже не преминули проверить это и убедиться в том, что всё на самом деле обстоит в точности так, как и было описано.
А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке, но не объяснил, зачем это нужно и что будет, если вы так не сделаете. Теперь же начну рассказ пожалуй со второго пункта.
В Ubuntu существует специальный файл, /etc/fstab
, в котором хранятся настройки монтирования различных разделов, включая корень и swap. Вся указанная при установке информация о точках монтирования попадает в этот файл. А все источники файлов, включая различные подключаемые устройства и даже разделы винчестера, про которые нет информации в этом файле, считаются внешними. Это приводит к тому, что они автоматически попадают в меню «Переход» и на рабочий стол, а при первом обращении автоматически монтируются в подкаталоги /media
. Если по простому, то всё это означает, что Ubuntu при загрузке монтирует в указанные места только то, про что она знает, а всё остальное считается подключаемыми устройствами и обрабатывается соответственно.
Что же в этом плохого? Ведь даже если вы не указали точку монтирования для раздела, то она автоматически назначится при первом обращении. Но к счастью, разделы винчестера - это не внешние устройства, и поэтому Ubuntu требует административных привилегий для управления ими1). Выливается это всё в то, что при первом обращении к разделу, про который нет информации в /etc/fstab
, Ubuntu попросит у вас пароль. Одно это уже жутко неудобно. Но это ещё не всё. Многие приложения, например, torrent-клиенты, в фоновом режиме обращаются к определённым файлам на вашем винчестере, и пока вы не обратитесь вручную к нужному разделу они будут считать, что его и файлов на нём не существует, соответственно, будет очень много ошибок. Ну и кроме того вы не застрахованы от того, что Ubuntu будет назначать различные точки монтирования одному и тому же разделу при перезагрузках компьютера. А это означает, что будут изменяться полные пути до файлов, что тоже часто достаточно критично.
В общем, вы наверно уже поняли, что все нужные вам разделы должны присутствовать в /etc/fstab
, чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними.
Но при установке я так же сказал вам, чтобы вы указали точки монтирования даже тем разделам, к которым вы не хотите иметь доступа из Ubuntu, правда, в подкаталоги /var/data
. Возможно, вы уже догадались, зачем это нужно делать. Я говорил, что все источники файлов, не прописанные в /etc/fstab
считаются внешними устройствами и автоматически попадают в меню «Переход» и на рабочий стол. То есть если вы не укажете точку монтирования раздела, думая, что в следствие этого он не будет вам мешаться в Ubuntu, то добъётесь ровно противоположного эффекта. Почему же нужно монтировать ненужные разделы именно в подкаталоги /var/data
? Тут тоже всё просто. Всё смонтированное в подкаталоги /media
автоматически попадает в меню «Переход» и на рабочий стол, именно поэтому я говорил вам указывать точки монтирования для нужных вам разделов именно в этот каталог. А вот всё, что смонтировано в другие места, в графической оболочке GNOME никак не отображается и поэтому не мешается2).
Вот так всё запутанно и с первого взгляда сложно. если вы всё ещё не осознали, что к чему, то возможно перечисление основных моментов вышеизложенного вам поможет:
- Всё, прописанное в
/etc/fstab
, монтируется автоматически при загрузке Ubuntu. - Всё, для чего записей в
/etc/fstab
нет, монтируется только при первом обращении. - Кроме того всё, для чего записей в
/etc/fstab
нет, отображается в меню «Переход» и на рабочем столе. - Всё, смонтированное в подкаталоги
/media
, так же отображается на рабочем столе и в меню «Переход». - Для нормальной работы с разделом винчестера для него должна быть запись в
/etc/fstab
.
Если вы всё ещё не уловили суть вопроса, то ничего страшного, просто запомните, что для всех разделов винчестера обязательно должны быть записи в /etc/fstab
, вот и вся соль.
Конфигурационный файл /etc/fstab
Осталось только рассказать, как же устроен файл /etc/fstab
и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права root'. Если вы забыли, как редактировать конфигурационные файлы системы, прочитайте снова статью про права доступа.
Итак, открыв
/etc/fstab вы увидите достаточно небольшое содержимое, у меня этот файл выглядит так:
Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки (
#), являются комментариями и системой игнорируются. Формат каждой записи очень простой:
<file>раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа</file>
Помните, в статье про разметку диска я рассказывал, что разделы винчестера в Linux именуются как
sdaX (или
sdbX,
sdcX и т.д. если у вас несколько винчестеров). Так вот, в
fstab используется несколько другой механизм идентификации винчестеров3). Для этой цели используются так называемые
uuid, достаточно длинные строчки из произвольных букв латинского алфавита и цифр4). Для того, чтобы узнать
uuid для нужного вам раздела выполните в термина команду
ls -l /dev/disk/by-uuid
Вот как выглядит результат выполнения у меня:
Я думаю, понятно, что к чему,
uuid для каждого раздела выделен голубым цветом.
Итак, первое поле записи в
fstab для разделов винчестера выглядит так:
<file>uuid=ваш_uuid</file>
Второе поле - это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов.
А вот дальше начинаются хитрости и сложности, описывать которые я не буду. С файловой системой всё просто, а вот опции монтирования - это целая эпопея, требующая не одной отдельной статьи. А уж назначение двух цифирей в конце вообще покрыто мраком и мало кого интересует.
Но как-то указать все эти параметры всё-таки надо. К счастью, тут можно схитрить. Дело в том, что записи о всех смонтированных дисках попадают в специальный файл
/etc/mtab, а формат записей этого файла ровно такой же, как и у
/etc/fstab. Поэтому если вам надо добавить запись для какого-то раздела винчестера в
fstab просто зайдите на него через меню «Переход», при этом он автоматически смонтируется в подкаталог
/media и следовательно запись о нём появится в
mtab. Теперь откройте
mtab, найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в
fstab, заменив имя диска на его
uuid и точку монтирования на желаемую. Вот и всё, при следующей загрузке диск смонтируется туда, куда вы указали.
На этом я заканчиваю краткое, хоть и достаточно запутанное, знакомство с файлом
/etc/fstab'' и системой монтирования дисков в Ubuntu. Собственно, на этом так же заканчивается вся информация, которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы, я завершу его статьей с красивым названием «Эпилог»:
/var/data
так же будет доступно из системы, но только при прямом переходе из файлового менеджера. Однако есть возможность полностью скрыть содержимое нежелательных разделов, поставив на /var/data
соответствующие права доступа.