Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
manual:fstab-2 [2010/06/02 16:45] |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Монтирование и fstab ====== | ||
- | В самом начале, при описании установки, я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли, что такое монтирование и для чего оно нужно, прочитайте снова [[[[файловая_система|статью]] про организацию файловой системы в Ubuntu. Ниже я попробую заполнить некоторые оставшиеся белые пятна. | ||
- | |||
- | Если вы с нетерпением ждали шаманств с терминалом и правки конфигурационных файлов, поздравляю, вы дождались! Вообще мне кажется, что скоро терминалом и конфигами впору будет пугать маленьких детей - столь отталкивающее мнение об этих инструментах присутствует у некоторых в принципе далёких от понимания упомянутых терминов людей. На самом деле обычно всё, конечно, очень просто, элегантно и логично. И у вас сейчас будет возможность в этом убедиться. | ||
- | |||
- | ===== Монтирование и пункты меню "Переход" ===== | ||
- | |||
- | Сначала немного общей теории. Она не очень лёгкая, но надеюсь вы уловите основную суть. Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки ''/media''. Возможно, вы даже не преминули проверить это и убедиться в том, что и на самом деле всё обстоит именно так. | ||
- | |||
- | А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке, но не объяснил, зачем это нужно и что будет, если вы так не сделаете. Теперь постараюсь ликвидировать это упущение, попутно разложив по полочкам весь механизм монтирования. | ||
- | |||
- | В Ubuntu существует специальный файл, ''/etc/fstab'', в котором хранятся настройки монтирования различных разделов, включая корень и swap. Существенная информация из этого файла заключается в первую очередь в соответствии точек монтирования разделам. При каждой загрузке Ubuntu читает этот файл и монтирует все перечисленные в нём диски в указанные для них места. Больше нигде никакой информации и точках монтирования в системе не храниться. Соответственно при установке в ''/etc/fstab'' записывается вся указанная вами информация о монтировании ваших разделов. | ||
- | |||
- | Различные флешки, внешние диски, плееры и прочие устройства монтируются автоматически при подключении к вашему компьютеру. Точкой монтирования в этом случае служит один из подкаталогов ''/media'', обычно - с именем, соответствующим метке устройства((Это не всегда так. Можно добавить запись для устройства во всё тот же ''/etc/fstab'', тогда при подключении точка монтирования не будет назначена автоматически, а считается из этого файла. Так, например, сделано для дисководов. Так что ''/etc/fstab'' используется не только при загрузке. Кроме того, если имя уже занято, то к нему будет дописано нижнее подчёркивание при определении точки монтирования.)). За выдлением точек монтирования, определением файловой системы и решением других проблем следит Ubuntu - вам ничего делать не надо. Кроме того, все внешние устройства автоматически попадают в меню "Переход" и на рабочий стол, так что вы всегда можете легко получить к ним доступ((На самом деле на рабочий стол и в меню "Переход" попадает всё, что смонтировано в один из подкаталогов ''/media'' или же будет туда смонтировано при первом обращении.)). | ||
- | |||
- | Проблемы начинаются только тогда, когда какое-то устройство было присоединено к компьютеру до загрузки Ubuntu, но для него нету записи в ''/etc/fstab''. В этом случае оно будет смонтировано только при вашем первом к нему обращении. Естественно, по всё тем же правилам подключения внешних источников, то есть в автоматически созданный подкаталог директории ''/media''. В случае с флешками это некритично - в конце концов при первом вашем обращении к флешке вы всё равно сразу же получите доступ к её содержимому и вам вообще не нужно задумываться не то, что о всяких ''/etc/fstab'', а даже просто о значении термина "монтирование". Но дело в том, что Ubuntu ровно так же будет обрабатывать и неуказанные в ''/etc/fstab'' разделы винчестера. И в чём же проблема, спросите вы? | ||
- | |||
- | Проблема в том, что зачастую получить доступ к содержимому винчестера нужно сразу после загрузки и до того, как вы вручную зайдёте на нужный диск. Это связано с тем, что многие программы работают с файлами без вашего непосредственного участия. Например, различные торрент-клиенты, плееры и прочие приложения, которые постоянно обращаются к файлам на винчестере, просто не смогут работать, пока вы не перейдёте на нужный диск. Это не очень удобно. Кроме того, при автоматическом назначении точки монтирования при первом обращении есть ещё одна небольшая проблема: вообще говоря никто не может гарантировать, что каждый раз будет использоваться одна и та же точка монтирования. А это значит, что могут меняться полные пути до всех файлов, что вообще приведёт к невозможности работы с ними большого количества приложений, вроде тех же торрент-клиентов. | ||
- | |||
- | В общем, вы наверно уже поняли, что все нужные вам разделы должны присутствовать в ''/etc/fstab'', чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними. | ||
- | |||
- | Вопрос остаётся только один: а какие указывать точки монтирования для разделов? Если вы помните, при описании установки я говорил вам монтировать все дополнительные разделы в подкаталоги ''/media''. Это и есть самый распространённый способ указания точек монтирования, однако далеко не единственный. Дело в том, что всё, смонтированное в подкаталоги ''/media'', автоматически попадает в меню "Переход" и на рабочий стол. Но иногда хочется скрыть некоторые разделы и убрать их из всех списков и меню. Логичным решением было бы просто удалить запись о ненужном разделе из ''/etc/fstab'', однако, как вы уже знаете, это не приведёт к желаемому результату. На самом деле всё просто: нужно указать точку монтирования для раздела не в подкаталог ''/media'', а в другую часть файлового дерева. | ||
- | |||
- | <note warning> | ||
- | Будьте осторожны! Неаккуратное обращение с точками монтирования может привести к полной неработоспособности системы. | ||
- | </note> | ||
- | |||
- | Например, в подкаталог ''/hidden/data''((Да, вы можете создавать новые каталоги непосредственно в корне файловой системы. Не стоит этим увлекаться, но и запрещать вам никто ничего не будет.)). При этом диск исчезнет из всех графических программ, но к его содержимому всё же будет доступ по полному пути относительно корня((Конечно есть возможность и полностью скрыть содержимое нежелательных разделов, для этого необходимо поставить на ''/hidden/data'' соответствующие права доступа, см. чуть ниже.)). | ||
- | |||
- | На всякий случай хочу обратить внимание на две вещи: во-первых, указанный в качестве точки монтирования для любого диска каталог должен существовать в файловой системе. То есть если вы хотите смонтировать какое-то устройство в ''/hidden/data'', то у вас должен существовать каталог ''/hidden/data''. И при этом он должен быть пустой, т.к. его содержимым после монтирования будет являться содержимое подключаемого устройства. А во-вторых права на запись файлов на подключаемые устройства определяются правами на запись в точку монтирования. То есть если вы что-то монтируете в ''/media/data'', то у вас должны быть нужным образом установлены владелец, группа и права доступа к каталогу ''/media/data''. | ||
- | |||
- | Осталось только немного рассказать про системные директории, вроде ''/home'', и про их отношение к процессу монтирования. Конкретно в ''/home'' хранятся домашние каталоги для всех пользователей компьютера. Помните, при рассказе про установку я говорил, что ''/home'' рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы? Это нужно для того, чтобы можно было, например, отформатировать системный раздел и поставить систему заново, при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё этого не поняли, тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов, но и выносить на отдельные разделы любые системные каталоги((Только сразу хочу предупредить, в отличие от подключения дополнительных разделов в ''/media'' или в ''/hidden/data'', системные каталоги выносить на отдельные разделы лучше только при установке, если вам вдруг понадобится это сделать после неё, то сначала разберитесь, что и куда надо скопировать и что и где изменить, простого добавления записи в ''/etc/fstab'' для этого недостаточно. Вкратце, для этого нужно загрузиться с LiveCD, потом скопировать текущее содержимое нужного каталога на новый диск, затем удалить данные со старого места, после чего добавить новую запись в ''/etc/fstab'' и напоследок проверить права доступа. Но поскольку выполняя эти операции вы рискуете потерять важные данные, то сначала подробно разберитесь в вопросе, и только потом приступайте к конкретным действиям.)). | ||
- | |||
- | Вот так всё запутанно и с первого взгляда сложно. Если вы не уловили суть вопроса, то ничего страшного, просто запомните, что для всех разделов винчестера обязательно должны быть записи в ''/etc/fstab'', а обо всём остальном за вас позаботится система, вот и вся соль. | ||
- | |||
- | ===== Конфигурационный файл /etc/fstab ===== | ||
- | |||
- | А теперь собственно к практике. Осталось только рассказать, как же устроен файл ''/etc/fstab'' и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права ''root''. Если вы забыли, как редактировать конфигурационные файлы системы, прочитайте снова [[пользователи_и_группы|статью]] про права доступа. | ||
- | |||
- | Итак, открыв ''/etc/fstab'' вы увидите достаточно небольшое содержимое, у меня этот файл выглядит так: | ||
- | |||
- | {{ .:монтирование_и_fstab:fstab.png }} | ||
- | |||
- | Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки (''#''), являются комментариями и системой игнорируются. Формат каждой записи очень простой: | ||
- | |||
- | <file>раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа</file> | ||
- | |||
- | Помните, в [[разметка_диска|статье]] про разметку диска я рассказывал, что разделы винчестера в Linux именуются как ''sdaX'' (или ''sdbX'', ''sdcX'' и т.д. если у вас несколько винчестеров). Так вот, в ''fstab'' используется несколько другой механизм идентификации винчестеров((Хотя можно использовать и классические имена.)). Для этой цели используются так называемые ''uuid'', достаточно длинные строчки из произвольных букв латинского алфавита и цифр((Связано это с некоторыми техническими особенностями, но это несущественно.)). Для того, чтобы узнать ''uuid'' для нужного вам раздела выполните в термина команду((Как вы может быть догадываетесь, узнать ''uuid'' можно далеко не единственным способом. Например, есть гораздо более информативная команда, требующая, однако, административных привилегий для запуска: | ||
- | <code>sudo blkid</code> | ||
- | Если вас не напряжёт лишний раз ввести пароль, то она вам скорее всего будет более симпатична, чем вариант с ''ls''.)) | ||
- | |||
- | ls -l /dev/disk/by-uuid | ||
- | |||
- | Вот как выглядит результат выполнения у меня: | ||
- | |||
- | {{ .:монтирование_и_fstab:disks-by-uuid.png }} | ||
- | |||
- | Я думаю, понятно, что к чему, ''uuid'' для каждого раздела выделен голубым цветом. | ||
- | |||
- | Итак, первое поле записи в ''fstab'' для разделов винчестера выглядит так: | ||
- | |||
- | <file>uuid=ваш_uuid</file> | ||
- | |||
- | Второе поле - это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов. | ||
- | |||
- | А вот дальше начинаются хитрости и сложности, описывать которые я не буду. С файловой системой всё просто, а вот опции монтирования - это целая эпопея, требующая не одной отдельной статьи. А уж назначение двух цифирей в конце вообще покрыто мраком и мало кого интересует. | ||
- | |||
- | Но как-то указать все эти параметры всё-таки надо. К счастью, тут можно схитрить((И даже не одним способом. Например, для добавления ntfs-раздела в ''fstab'' можно воспользоваться утилитой ''ntfs-config'', правда предварительно вам придётся её установить.)). Дело в том, что записи о всех смонтированных дисках попадают в специальный файл ''/etc/mtab'', а формат записей этого файла ровно такой же, как и у ''/etc/fstab''. Поэтому если вам надо добавить запись для какого-то раздела винчестера в ''fstab'' просто зайдите на него через меню "Переход", при этом он автоматически смонтируется в подкаталог ''/media'' и следовательно запись о нём появится в ''mtab''. Теперь откройте ''mtab'', найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в ''fstab'', заменив имя диска на его ''uuid'' и точку монтирования на желаемую. Вот и всё, при следующей загрузке диск смонтируется туда, куда вы указали. | ||
- | |||
- | На этом я заканчиваю краткое, хоть и достаточно запутанное, знакомство с файлом ''/etc/fstab'' и системой монтирования дисков в Ubuntu. Более того, на этом так же заканчивается вся информация, которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы, я завершу его статьей с красивым названием "Эпилог": | ||
- | |||
- | * [[эпилог|Эпилог]] |