Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» - Вадим Неворотин
Шрифт:
Интервал:
Закладка:
32.1 Монтирование и пункты меню «Переход»
Сначала немного общей теории. Она не очень лёгкая, но надеюсь вы уловите основную суть. Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки /media. Возможно, вы даже не преминули проверить это и убедиться в том, что и на самом деле всё обстоит именно так.
А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке, но не объяснил, зачем это нужно и что будет, если вы так не сделаете. Теперь постараюсь ликвидировать это упущение, попутно разложив по полочкам весь механизм монтирования.
В Ubuntu существует специальный файл, /etc/fstab, в котором хранятся настройки монтирования различных разделов, включая корень и swap. Существенная информация из этого файла заключается в первую очередь в соответствии точек монтирования разделам. При каждой загрузке Ubuntu читает этот файл и монтирует все перечисленные в нём диски в указанные для них места. Больше нигде никакой информации и точках монтирования в системе не хранится. Соответственно при установке в /etc/fstab записывается вся указанная вами информация о монтировании ваших разделов.
Различные флешки, внешние диски, плееры и прочие устройства монтируются автоматически при подключении к вашему компьютеру. Точкой монтирования в этом случае служит один из подкаталогов /media, обычно — с именем, соответствующим метке устройства[118]. За выделением точек монтирования, определением файловой системы и решением других проблем следит Ubuntu — вам ничего делать не надо. Кроме того, все внешние устройства автоматически попадают в меню «Переход» и на рабочий стол, так что вы всегда можете легко получить к ним доступ[119].
Проблемы начинаются только тогда, когда какое-то устройство было присоединено к компьютеру до загрузки Ubuntu, но для него нету записи в /etc/fstab. В этом случае оно будет смонтировано только при вашем первом к нему обращении. Естественно, по всё тем же правилам подключения внешних источников, то есть в автоматически созданный подкаталог директории /media. В случае с флешками это некритично — в конце концов при первом вашем обращении к флешке вы всё равно сразу же получите доступ к её содержимому и вам вообще не нужно задумываться не то, что о всяких /etc/fstab, а даже просто о значении термина «монтирование». Но дело в том, что Ubuntu ровно так же будет обрабатывать и неуказанные в /etc/fstab разделы винчестера. И в чём же проблема, спросите вы?
Проблема в том, что зачастую получить доступ к содержимому винчестера нужно сразу после загрузки и до того, как вы вручную зайдёте на нужный диск. Это связано с тем, что многие программы работают с файлами без вашего непосредственного участия. Например, различные торрент-клиенты, плееры и прочие приложения, которые постоянно обращаются к файлам на винчестере, просто не смогут работать, пока вы не перейдёте на нужный диск. Кроме того, при автоматическом назначении точки монтирования в момент первого обращения есть ещё одна небольшая проблема: вообще говоря никто не может гарантировать, что каждый раз будет использоваться одна и та же точка монтирования. А это значит, что могут меняться полные пути до всех файлов, что вообще приведёт к невозможности работы с ними большого количества приложений, вроде тех же торрент-клиентов.
В общем, вы наверно уже поняли, что все нужные вам разделы должны присутствовать в /etc/fstab, чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними.
Вопрос остаётся только один: а какие указывать точки монтирования для разделов? Если вы помните, при описании установки я говорил вам монтировать все дополнительные разделы в подкаталоги /media. Это и есть самый распространённый способ указания точек монтирования, однако далеко не единственный. Дело в том, что всё, смонтированное в подкаталоги /media, автоматически попадает в меню «Переход» и на рабочий стол. Но иногда хочется скрыть некоторые разделы и убрать их из всех списков и меню. Логичным решением было бы просто удалить запись о ненужном разделе из /etc/fstab. Однако это не приведёт к желаемому результату, поскольку точка монтирования для раздела, не указанного в /etc/fstab, автоматически всё равно будет назначаться в подкаталог /media, соответственно, диск всё равно будет доступен через меню «Переход». А скрыть диск на самом деле очень просто: нужно указать точку монтирования для раздела не в подкаталог /media, а в другую часть файлового дерева.
Будьте осторожны! Неаккуратное обращение с точками монтирования может привести к полной неработоспособности системы.
Например, в подкаталог /hidden/data[120]. При этом диск исчезнет из всех графических программ, но к его содержимому всё же будет доступ по полному пути относительно корня[121].
На всякий случай хочу обратить внимание на две вещи: во-первых, указанный в качестве точки монтирования для любого диска каталог должен существовать в файловой системе. То есть если вы хотите смонтировать какое-то устройство в /hidden/data, то у вас должен существовать каталог /hidden/data. И при этом он должен быть пустой, т. к. его содержимым после монтирования будет являться содержимое подключаемого устройства. А во-вторых права на запись файлов на подключаемые устройства определяются правами на запись в точку монтирования. То есть если вы что-то монтируете в /media/data, то у вас должны быть нужным образом установлены владелец, группа и права доступа к каталогу /media/data.
Осталось только немного рассказать про системные директории, вроде /home, и про их отношение к процессу монтирования. Конкретно в /home хранятся домашние каталоги для всех пользователей компьютера. Помните, при рассказе про установку я говорил, что /home рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы? Это нужно для того, чтобы можно было, например, отформатировать системный раздел и поставить систему заново, при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё этого не поняли, тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов, но и выносить на отдельные разделы любые системные каталоги[122].
Вот так всё запутанно и с первого взгляда сложно. Если вы не уловили суть вопроса, то ничего страшного, просто запомните, что для всех разделов винчестера обязательно должны быть записи в /etc/fstab, а обо всём остальном за вас позаботится система, вот и вся соль.
Рис. 32.1: Содержимое /etc/fstab.
32.2 Конфигурационный файл /etc/fstab
А теперь собственно к практике. Осталось только рассказать, как же устроен файл /etc/fstab и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права root. Если вы забыли, как редактировать конфигурационные файлы системы, прочитайте снова главу про права доступа.
Итак, открыв /etc/fstab вы увидите достаточно небольшое содержимое, у меня этот файл выглядит как на рис. 32.1.
Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки (#), являются комментариями и системой игнорируются. Формат каждой записи очень простой:
раздел точка_монтирования файловая_система опции_монтирования два_флага
Помните, в главе про разметку диска я рассказывал, что разделы винчестера в Linux именуются как sdaX (или sdbX, sdcX и т. д. если у вас несколько винчестеров). Так вот, в fstab используется несколько другой механизм идентификации винчестеров[123]. Для этой цели используются так называемые uuid, достаточно длинные строчки из произвольных букв латинского алфавита и цифр[124]. Для того, чтобы узнать uuid для нужного вам раздела выполните в терминале команду[125]
ls -l /dev/disk/by-uuid
Вот как выглядит результат выполнения у меня:
Рис. 32.2: Информация о разделах, включая их идентификаторы.
Я думаю, понятно, что к чему, uuid для каждого раздела выделен голубым цветом.
Итак, первое поле записи в fstab для разделов винчестера выглядит так:
UUID=ваш_uuid
Второе поле — это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов.