Монтирование и fstab Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
manual:fstab [2009/12/09 09:28]
manual:fstab [2010/04/27 16:53]
Строка 3: Строка 3:
 В самом начале,​ при описании установки,​ я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли,​ что такое монтирование и для чего оно нужно, прочитайте снова [[[[файловая_система|статью]] про организацию файловой системы в Ubuntu. В этой же статье я попробую заполнить некоторые оставшиеся белые пятна. В самом начале,​ при описании установки,​ я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли,​ что такое монтирование и для чего оно нужно, прочитайте снова [[[[файловая_система|статью]] про организацию файловой системы в Ubuntu. В этой же статье я попробую заполнить некоторые оставшиеся белые пятна.
  
-Если вы по ходу прочтения данного руководства всё ждали, когда же наконец я буду рассказывать про что-нибудь,​ что требует ручной правки конфигурационных файлов и шаманств с терминалом,​ то вы наконец-то дождались этого. Ниже я действительно расскажу про один из важнейших конфигурационных файлов Linux, отвечающий за монтирование разделов винчестера. Хотя на самом деле даже в столь пугающей с первого взгляда теме нет ровным счётом ничего сложно,​ к счастью,​ времена,​ когда для нормальной работы в Linux нужно было быть как минимум квалифицированным программистом,​ давно прошли.+Если вы по ходу прочтения данного руководства всё ждали, когда же наконец я буду рассказывать про что-нибудь,​ что требует ручной правки конфигурационных файлов и шаманств с терминалом,​ то вы наконец-то дождались этого. Ниже я действительно расскажу про один из важнейших конфигурационных файлов Linux, отвечающий за монтирование разделов винчестера. Хотя на самом деле даже в столь пугающей с первого взгляда теме нет ровным счётом ничего сложного, к счастью,​ времена,​ когда для нормальной работы в Linux нужно было быть как минимум квалифицированным программистом,​ давно прошли.
  
 ===== Монтирование и пункты меню "​Переход"​ ===== ===== Монтирование и пункты меню "​Переход"​ =====
  
-Итак, я рассказывал,​ что все подключаемые устройства автоматически монтируются в подкаталоги папки ''/​media''​, возможно,​ вы даже не преминули проверить это и убедиться в том, что всё на самом деле обстоит в точности так, как и было описано.+Итак, я рассказывал,​ что все подключаемые устройства автоматически монтируются в подкаталоги папки ''/​media''​. Возможно,​ вы даже не преминули проверить это и убедиться в том, что всё на самом деле обстоит в точности так, как и было описано.
  
 А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке,​ но не объяснил,​ зачем это нужно и что будет, если вы так не сделаете. Теперь же начну рассказ пожалуй со второго пункта. А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке,​ но не объяснил,​ зачем это нужно и что будет, если вы так не сделаете. Теперь же начну рассказ пожалуй со второго пункта.
  
-В Ubuntu существует специальный файл, ''/​etc/​fstab'',​ в котором хранятся настройки монтирования различных разделов,​ включая корень и swap. Вся указанная при установке информация о точках монтирования попадает в этот файл. А все источники файлов,​ включая различные подключаемые устройства и даже разделы винчестера,​ про которые нет информации в этом файле, считаются внешними. Это приводит к тому, что они автоматически попадают в меню "​Переход"​ и на рабочий стол, а при первом обращении автоматически монтируются в подкаталоги ''/​media''​. Если по простому,​ то всё это означает,​ что Ubuntu при загрузке монтирует в указанные места только то, про что она знает, а всё остальное считается подключаемыми устройствами и обрабатывается соответственно.+В Ubuntu существует специальный файл, ''/​etc/​fstab'',​ в котором хранятся настройки монтирования различных разделов,​ включая корень и swap. Вся указанная при установке информация о точках монтирования попадает в этот файл. А все источники файлов,​ включая различные подключаемые устройства и даже разделы винчестера,​ про которые нет информации в этом файле, считаются внешними. Это приводит к тому, что они автоматически попадают в меню "​Переход"​ и на рабочий стол, а при первом обращении автоматически монтируются в подкаталоги ''/​media''​((Тут надо сказать,​ что флешки и другие внешние устройства монтируются в момент подключения к компьютеру,​ поскольку как только Ubuntu видит новое устройство,​ она сразу же пытается определить тип его содержимого. А для этого необходимо таки к нему обратиться,​ и, соответственно,​ смонтировать.)). Если по простому,​ то всё это означает,​ что Ubuntu при загрузке монтирует в указанные места только то, про что она знает, а всё остальное считается подключаемыми устройствами и обрабатывается соответственно.
  
-Что же в этом плохого?​ Ведь даже если вы не указали точку монтирования для раздела,​ то она автоматически назначится при первом обращении. Но к счастью,​ разделы винчестера - это не внешние устройства,​ и поэтому Ubuntu требует административных привилегий для управления ими((По понятным причинам. Было бы весьма неприятно,​ если бы обычный пользователь мог бы поломать что-то в системе управления разделами винчестера.)). Выливается это всё в то, что при первом обращении к разделу,​ про который нет информации в ''/​etc/​fstab'',​ Ubuntu попросит у вас пароль. Одно это уже жутко неудобно. Но это ещё не всё. Многие приложения,​ например,​ torrent-клиенты,​ в фоновом режиме обращаются к определённым файлам на вашем винчестере,​ и пока вы не обратитесь вручную ​к нужному ​разделу они будут считать,​ что его и файлов на нём не существует,​ соответственно,​ будет очень много ошибок. Ну и кроме того вы не застрахованы от того, что Ubuntu будет назначать различные точки монтирования одному и тому же разделу при перезагрузках компьютера. А это означает,​ что будут изменяться полные пути до файлов,​ что тоже часто достаточно критично.+Что же в этом плохого?​ Ведь даже если вы не указали точку монтирования для раздела,​ то она автоматически назначится при первом обращении. Но к счастью,​ разделы винчестера - это не внешние устройства,​ и поэтому Ubuntu требует административных привилегий для управления ими((По понятным причинам. Было бы весьма неприятно,​ если бы обычный пользователь мог бы поломать что-то в системе управления разделами винчестера.)). Выливается это всё в то, что при первом обращении к разделу,​ про который нет информации в ''/​etc/​fstab'',​ Ubuntu попросит у вас пароль. Одно это уже жутко неудобно. Но это ещё не всё. Многие приложения,​ например,​ torrent-клиенты,​ в фоновом режиме обращаются к определённым файлам на вашем винчестере,​ и пока вы не откроете вручную нужный разделони будут считать,​ что его и файлов на нём не существует,​ соответственно,​ будет очень много ошибок. Ну и кроме того вы не застрахованы от того, что Ubuntu будет назначать различные точки монтирования одному и тому же разделу при перезагрузках компьютера. А это означает,​ что будут изменяться полные пути до файлов,​ что тоже часто достаточно критично.
  
 В общем, вы наверно уже поняли,​ что все нужные вам разделы должны присутствовать в ''/​etc/​fstab'',​ чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними. В общем, вы наверно уже поняли,​ что все нужные вам разделы должны присутствовать в ''/​etc/​fstab'',​ чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними.
  
-Но при установке я так же сказал вам, чтобы вы указали ​точки монтирования даже тем ​разделам, к которым вы не хотите иметь доступа из Ubuntu, правда, в подкаталоги ''/​var/​data''​. Возможно, ​вы уже догадались, зачем это нужно делать. Я говорил,​ что ​все ​источники файлов, не прописанные в ''/​etc/fstab'' ​считаются внешними устройствами и автоматически попадают в меню "Переход"​ и на рабочий стол. То есть если вы не укажете ​точку монтирования ​разделадумая, что в следствие этого он не будет вам мешаться в Ubuntu, то добъётесь ровно противоположного эффекта. Почему же нужно монтировать ненужные разделы именно в подкаталоги ''/​var/​data''?​ Тут ​тоже всё ​просто. Всё ​смонтированное в подкаталоги ''/​media''​ автоматически попадает в меню "​Переход"​ и на рабочий столименно поэтому ​я говорил вам указывать точки монтирования для нужных вам ​разделов именно в этот каталог. А вот ​всё, что ​смонтировано в другие места, в графической оболочке GNOME никак не отображается и поэтому не мешается((Строго говоря,​ смонтированное в ''/​var/data'' ​так же будет доступно из системыно только ​при ​прямом ​переходе из файлового менеджера. Однако есть возможность полностью скрыть содержимое нежелательных ​разделовпоставив на ''/​var/data'' ​соответствующие права доступа.)).+Вопрос остаётся только один: ​а какие указывать точки монтирования для разделов? Если вы помните, при описании установки я говорил вам монтировать все ​дополнительные разделы в подкаталоги ​''/​media''​. Это ​и есть самый распространённый способ указания ​точек монтирования,​ однако далеко ​не единственный. Дело в том, что всёсмонтированное в подкаталоги ''/​media''​автоматически попадает в меню "​Переход"​ и на рабочий стол. Но иногда хочется скрыть ​некоторые разделы и убрать их из всех списков и меню. Логичным решением было бы просто удалить запись о ненужном разделе из ''/​etc/fstab''​, однако, как вы уже знаете, ​это не приведёт к желаемому результату. На самом деле всё просто: нужно ​указать точку монтирования ​для раздела не в подкаталог ​''/​media''​, а в другую часть файлового дерева.
  
-Осталось только немного рассказать про системные каталоги,​ вроде ''/​home'',​ и про их отношение к процессу монтирования. Конкретно в ''/​home''​ хранятся домашние каталоги для всех пользователей компьютера. Помните,​ при рассказе про установку я говорил,​ что ''/​home''​ рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы,​ чтобы можно было, например,​ отформатировать системный раздел и поставить систему заново,​ при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё это не поняли,​ тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов,​ но и выносить на отдельные разделы любые системные каталоги((Только сразу хочу предупредить,​ в отличие от подключения дополнительных разделов в ''/​media''​ или в ''/​var/​data'',​ системные каталоги выносить на отдельные разделы лучше только при установке,​ если вам вдруг понадобится это сделать после неё, то сначала разберитесь,​ что и куда надо скопировать и что и где изменить,​ простого добавления записи в ''/​etc/​fstab''​ для этого недостаточно. В кратце,​ для этого нужно загрузиться с LiveCD, потом скопировать текущее содержимое нужного каталога на новый диск, затем удалить данные со старого места, после чего добавить новую запись в ''/​etc/​fstab''​ и напоследок проверить права доступа. Но поскольку выполняя эти операции вы рискуете потерять важные данные,​ то сначала подробно разберитесь в вопросе,​ и только потом приступайте к конкретным действиям.)).+<note warning>​ 
 +Будьте осторожны! Неаккуратное обращение с точками монтирования может привести к полной неработоспособности системы. 
 +</​note>​ 
 + 
 +Например,​ в подкаталог ''/​usr/​data''​. При этом диск исчезнет из всех графических программ,​ но к его содержимому всё же будет доступ по полному пути относительно корня((Конечно есть возможность и полностью скрыть содержимое нежелательных разделов,​ для этого ​необходимо поставить на ''/​usr/​data''​ соответствующие права доступа, ​см. чуть ниже.)). 
 + 
 +На всякий случай хочу обратить внимание на две вещи: во-первых,​ указанный в качестве точки монтирования для любого диска каталог должен существовать ​в файловой системе. То есть если вы хотите смонтировать какое-то устройство в ''/​usr/​data/​hidden'',​ то у вас должен существовать каталог ''/​usr/​data/​hidden''​. И при этом он должен быть пустой, т.к. его содержимым после монтирования будет являться содержимое подключаемого устройства. А во-вторых права ​на запись файлов на подключаемые устройства определяются правами на запись в точку монтирования. То есть если вы что-то монтируете в ''/​media/​data'',​ то у вас должны быть нужным ​образом установлены владелец, ​группа и права доступа к каталогу ''/​media/​data''​. 
 + 
 +Осталось только немного рассказать про системные директории, вроде ''/​home'',​ и про их отношение к процессу монтирования. Конкретно в ''/​home''​ хранятся домашние каталоги для всех пользователей компьютера. Помните,​ при рассказе про установку я говорил,​ что ''/​home''​ рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы,​ чтобы можно было, например,​ отформатировать системный раздел и поставить систему заново,​ при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё это не поняли,​ тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов,​ но и выносить на отдельные разделы любые системные каталоги((Только сразу хочу предупредить,​ в отличие от подключения дополнительных разделов в ''/​media''​ или в ''/​usr/​data'',​ системные каталоги выносить на отдельные разделы лучше только при установке,​ если вам вдруг понадобится это сделать после неё, то сначала разберитесь,​ что и куда надо скопировать и что и где изменить,​ простого добавления записи в ''/​etc/​fstab''​ для этого недостаточно. В кратце,​ для этого нужно загрузиться с LiveCD, потом скопировать текущее содержимое нужного каталога на новый диск, затем удалить данные со старого места, после чего добавить новую запись в ''/​etc/​fstab''​ и напоследок проверить права доступа. Но поскольку выполняя эти операции вы рискуете потерять важные данные,​ то сначала подробно разберитесь в вопросе,​ и только потом приступайте к конкретным действиям.)).
  
 Вот так всё запутанно и с первого взгляда сложно. если вы всё ещё не осознали,​ что к чему, то возможно перечисление основных моментов вышеизложенного вам поможет:​ Вот так всё запутанно и с первого взгляда сложно. если вы всё ещё не осознали,​ что к чему, то возможно перечисление основных моментов вышеизложенного вам поможет:​
Строка 43: Строка 51:
 <​file>​раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа</​file>​ <​file>​раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа</​file>​
  
-Помните,​ в [[разметка_диска|статье]] про разметку диска я рассказывал,​ что разделы винчестера в Linux именуются как ''​sdaX''​ (или ''​sdbX'',​ ''​sdcX''​ и т.д. если у вас несколько винчестеров). Так вот, в ''​fstab''​ используется несколько другой механизм идентификации винчестеров((Хотя можно использовать и классические имена.)). Для этой цели используются так называемые ''​uuid'',​ достаточно длинные строчки из произвольных букв латинского алфавита и цифр((Связано это с некоторыми техническими особенностями,​ но это несущественно.)). Для того, чтобы узнать ''​uuid''​ для нужного вам раздела выполните в термина команду+Помните,​ в [[разметка_диска|статье]] про разметку диска я рассказывал,​ что разделы винчестера в Linux именуются как ''​sdaX''​ (или ''​sdbX'',​ ''​sdcX''​ и т.д. если у вас несколько винчестеров). Так вот, в ''​fstab''​ используется несколько другой механизм идентификации винчестеров((Хотя можно использовать и классические имена.)). Для этой цели используются так называемые ''​uuid'',​ достаточно длинные строчки из произвольных букв латинского алфавита и цифр((Связано это с некоторыми техническими особенностями,​ но это несущественно.)). Для того, чтобы узнать ''​uuid''​ для нужного вам раздела выполните в термина команду((Как вы может быть догадываетесь,​ узнать ''​uuid''​ можно далеко не единственным способом. Например,​ есть гораздо более информативная команда,​ требующая,​ однако,​ административных привилегий для запуска:​ 
 +<​code>​sudo blkid</​code>​ 
 +Если вас не напряжёт лишний раз ввести пароль,​ то она вам скорее всего будет более симпатична,​ чем вариант с ''​ls''​.))
  
   ls -l /​dev/​disk/​by-uuid   ls -l /​dev/​disk/​by-uuid
Строка 63: Строка 73:
 Но как-то указать все эти параметры всё-таки надо. К счастью,​ тут можно схитрить((И даже не одним способом. Например,​ для добавления ntfs-раздела в ''​fstab''​ можно воспользоваться утилитой ''​ntfs-config'',​ правда предварительно вам придётся её установить.)). Дело в том, что записи о всех смонтированных дисках попадают в специальный файл ''/​etc/​mtab'',​ а формат записей этого файла ровно такой же, как и у ''/​etc/​fstab''​. Поэтому если вам надо добавить запись для какого-то раздела винчестера в ''​fstab''​ просто зайдите на него через меню "​Переход",​ при этом он автоматически смонтируется в подкаталог ''/​media''​ и следовательно запись о нём появится в ''​mtab''​. Теперь откройте ''​mtab'',​ найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в ''​fstab'',​ заменив имя диска на его ''​uuid''​ и точку монтирования на желаемую. Вот и всё, при следующей загрузке диск смонтируется туда, куда вы указали. Но как-то указать все эти параметры всё-таки надо. К счастью,​ тут можно схитрить((И даже не одним способом. Например,​ для добавления ntfs-раздела в ''​fstab''​ можно воспользоваться утилитой ''​ntfs-config'',​ правда предварительно вам придётся её установить.)). Дело в том, что записи о всех смонтированных дисках попадают в специальный файл ''/​etc/​mtab'',​ а формат записей этого файла ровно такой же, как и у ''/​etc/​fstab''​. Поэтому если вам надо добавить запись для какого-то раздела винчестера в ''​fstab''​ просто зайдите на него через меню "​Переход",​ при этом он автоматически смонтируется в подкаталог ''/​media''​ и следовательно запись о нём появится в ''​mtab''​. Теперь откройте ''​mtab'',​ найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в ''​fstab'',​ заменив имя диска на его ''​uuid''​ и точку монтирования на желаемую. Вот и всё, при следующей загрузке диск смонтируется туда, куда вы указали.
  
-На этом я заканчиваю краткое,​ хоть и достаточно запутанное,​ знакомство с файлом ''/​etc/​fstab''​ и системой монтирования дисков в Ubuntu. ​Собственно, на этом так же заканчивается вся информация,​ которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы,​ я завершу его статьей с красивым названием "​Эпилог":​+На этом я заканчиваю краткое,​ хоть и достаточно запутанное,​ знакомство с файлом ''/​etc/​fstab''​ и системой монтирования дисков в Ubuntu. ​Более того, на этом так же заканчивается вся информация,​ которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы,​ я завершу его статьей с красивым названием "​Эпилог":​
  
   * [[эпилог|Эпилог]]   * [[эпилог|Эпилог]]