Сначала немного общей теории. Она не очень лёгкая, но надеюсь вы уловите основную суть. Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки /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
и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права
root
. Если вы забыли,
как редактировать конфигурационные файлы системы, прочитайте снова
статью про права доступа.
Итак, открыв /etc/fstab
вы увидите достаточно небольшое содержимое, у меня этот файл выглядит так:
Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки (#
), являются комментариями и системой игнорируются. Формат каждой записи очень простой:
раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа
Помните, в
статье про разметку диска я рассказывал, что разделы винчестера в Linux именуются
как sdaX
(или
sdbX
,
sdcX
и т.д. если у вас несколько винчестеров). Так вот, в
fstab
используется несколько другой механизм идентификации винчестеров
6). Для этой цели используются так называемые
uuid
, достаточно длинные строчки из произвольных букв латинского алфавита и цифр
7). Для того,
чтобы узнать
uuid
для нужного вам раздела выполните в терминале команду
8)
ls -l /dev/disk/by-uuid
Вот как выглядит результат выполнения у меня:
Я думаю, понятно, что к чему, uuid
для каждого раздела выделен голубым цветом.
Итак, первое поле записи в fstab
для разделов винчестера выглядит так:
UUID=ваш_uuid
Второе поле - это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов.
А вот дальше начинаются хитрости и сложности, описывать которые я не буду. С файловой системой всё просто, а вот опции монтирования - это целая эпопея, требующая не одной отдельной статьи. А уж назначение двух цифирей в конце вообще покрыто мраком и мало кого интересует.
Но
как-то указать все эти параметры всё-таки надо. К счастью, тут можно схитрить
9). Дело в том, что записи о всех смонтированных дисках попадают в специальный файл
/etc/mtab
, а формат записей этого файла ровно такой же,
как и у
/etc/fstab
. Поэтому если вам надо добавить запись для какого-то раздела винчестера в
fstab
просто зайдите на него через меню «Переход», при этом он автоматически смонтируется в подкаталог
/media
и следовательно запись о нём появится в
mtab
. Теперь откройте
mtab
, найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в
fstab
, заменив имя диска на его
uuid
и точку монтирования на желаемую. Кроме того, если в качестве ФС в
mtab
записано
fuseblk
, то при копировании необходимо подставить вместо этого значения имя своей файловой системы. Если вы не знаете,
как правильно должна называться ваша ФС в
fstab
, то поищите информацию на эту тему в интернете. И если вы не наделаете ошибок при замене, то при следующей загрузке
диск смонтируется туда, куда вы указали.
На этом я заканчиваю краткое, хоть и достаточно запутанное, знакомство с файлом /etc/fstab
и системой монтирования дисков в Ubuntu. Более того, на этом так же заканчивается вся информация, которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы, я завершу его статьей с красивым названием «Эпилог»: