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

Это старая версия документа.


Монтирование и 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).

Вот так всё запутанно и с первого взгляда сложно. если вы всё ещё не осознали, что к чему, то возможно перечисление основных моментов вышеизложенного вам поможет:

  1. Всё, прописанное в /etc/fstab, монтируется автоматически при загрузке Ubuntu.
  2. Всё, для чего записей в /etc/fstab нет, монтируется только при первом обращении.
  3. Кроме того всё, для чего записей в /etc/fstab нет, отображается в меню «Переход» и на рабочем столе.
  4. Всё, смонтированное в подкаталоги /media, так же отображается на рабочем столе и в меню «Переход».
  5. Для нормальной работы с разделом винчестера для него должна быть запись в /etc/fstab.

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

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

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

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

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

раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа

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

ls -l /dev/disk/by-uuid

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

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

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

uuid=ваш_uuid

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

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

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

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

1)
По понятным причинам. Было бы весьма неприятно, если бы обычный пользователь мог бы поломать что-то в системе управления разделами винчестера.
2)
Строго говоря, смонтированное в /var/data так же будет доступно из системы, но только при прямом переходе из файлового менеджера. Однако есть возможность полностью скрыть содержимое нежелательных разделов, поставив на /var/data соответствующие права доступа.
3)
Хотя можно использовать и классические имена.
4)
Связано это с некоторыми техническими особенностями, но это несущественно.
5)
И даже не одним способом. Например, для добавления ntfs-раздела в fstab можно воспользоваться утилитой ntfs-config, правда предварительно вам придётся её установить.