Монтування та fstab, російськомовна документація по ubuntu

На самому початку, при описі установки, я розповідав про механізм монтування дисків в Linux і пояснював його основи. Якщо ви забули, що таке монтування і для чого воно потрібне, прочитайте знову статтю про організацію файлової системи в Ubuntu. Нижче я спробую заповнити деякі залишилися білі плями.

Якщо ви з нетерпінням чекали шаманств з терміналом і редагування конфігураційних файлів, вітаю, ви дочекалися! Взагалі мені здається, що скоро терміналом і конфіга впору буде лякати маленьких дітей - настільки відразливе думку про ці інструменти присутній у деяких в принципі далеких від розуміння згаданих термінів людей. Насправді зазвичай все, звичайно, дуже просто, елегантно і логічно. І у вас зараз буде можливість в цьому переконатися.

Спочатку трохи загальної теорії. Вона не дуже легка, але сподіваюся ви уловите основну суть. Отже, я розповідав, що все пристроїв для підключення автоматично монтуються в підкаталоги папки / 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 ви побачите досить невеликий вміст, у мене цей файл виглядає так:

Монтування та fstab, російськомовна документація по ubuntu

Пам'ятайте, в статті про розмітку диска я розповідав, що розділи вінчестера в Linux іменуються як sdaX (або sdbX. SdcX і т.д. якщо у вас кілька вінчестерів). Так ось, в fstab використовується дещо інший механізм ідентифікації вінчестерів 6). Для цієї мети використовуються так звані uuid. досить довгі рядки з довільних букв латинського алфавіту і цифр 7). Для того, щоб дізнатися uuid для потрібного вам розділу виконайте в терміналі команду 8)

Ось як виглядає результат виконання у мене:

Монтування та fstab, російськомовна документація по ubuntu

Я думаю, зрозуміло, що до чого, uuid для кожного розділу виділено блакитним кольором.

Отже, перше поле запису в fstab для розділів вінчестера виглядає так:

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

А ось далі починаються хитрощі і складності, описувати які я не буду. З файлової системою все просто, а ось опції монтування - це ціла епопея, яка потребує не однієї окремої статті. А вже призначення двох цифр в кінці взагалі покрито мороком і мало кого цікавить.

Але якось вказати всі ці параметри все-таки треба. На щастя, тут можна схитрувати 9). Справа в тому, що записи про всіх змонтованих дисках потрапляють в спеціальний файл / etc / mtab. а формат записів цього файлу рівно такий же, як і у / etc / fstab. Тому якщо вам треба додати запис для якогось розділу вінчестера в fstab просто зайдіть на нього через меню «Перехід», при цьому він автоматично змонтують в підкаталог / media і отже запис про нього з'явиться в mtab. Тепер відкрийте mtab. знайдіть потрібну строчку (тут вже диски іменуються звичайним способом) і скопіюйте її в fstab. замінивши ім'я диска на його uuid і точку монтування на бажану. Крім того, якщо в якості ФС в mtab записано fuseblk. то при копіюванні необхідно підставити замість цього значення ім'я своєї файлової системи. Якщо ви не знаєте, як правильно повинна називатися ваша ФС в fstab. то пошукайте інформацію на цю тему в інтернеті. І якщо ви не наробите помилок при заміні, то при наступному завантаженні диск змонтують туди, куди ви вказали.

На цьому я закінчую короткий, хоч і досить заплутана, знайомство з файлом / etc / fstab і системою монтування дисків в Ubuntu. Більш того, на цьому так само закінчується вся інформація, яку я хотів вам розповісти про Ubuntu. Ну і щоб не завершувати керівництво настільки неочевидним розповіддю про специфічну настройку системи, я завершу його статтею з красивою назвою «Епілог»:

1) Це не завжди так. Можна додати запис для пристрою під все той же / etc / fstab. тоді при підключенні точка монтування не буде призначена автоматично, а вважається з цього файлу. Так, наприклад, зроблено для дисководів. Так що / etc / fstab використовується не тільки при завантаженні. Крім того, якщо ім'я вже зайнято, то до нього буде дописано нижнє підкреслювання при визначенні точки монтування.

2) Насправді на робочий стіл і в меню «Перехід» потрапляє все, що змонтовано в один з підкаталогів / media або ж буде туди змонтовано при першому зверненні.

3) Так, ви можете створювати нові каталоги безпосередньо в корені файлової системи. Не варто цим захоплюватися, а й забороняти вам ніхто нічого не буде.

4) Звичайно є можливість і повністю приховати вміст небажаних розділів, для цього необхідно поставити на / hidden / data відповідні права доступу, див. Трохи нижче.

5) Тільки відразу хочу попередити, на відміну від підключення додаткових розділів в / media або в / hidden / data. системні каталоги виносити на окремі розділи краще тільки при установці, якщо вам раптом знадобиться це зробити після неї, то спочатку розберіться, що і куди треба скопіювати і що і де змінити, простого додавання запису в / etc / fstab для цього недостатньо. Якщо коротко, для цього потрібно завантажитися з LiveCD, потім скопіювати поточний зміст потрібного каталогу на новий диск, потім видалити дані зі старого місця, після чого додати новий запис в / etc / fstab і наостанок перевірити права доступу. Але оскільки виконуючи ці операції ви ризикуєте втратити важливі дані, то спочатку детально розберіться в питанні, і тільки потім приступайте до конкретних дій.

6) Хоча можна використовувати і класичні імена.

7) Пов'язано це з деякими технічними особливостями, але це несуттєво.

8) Як ви може бути здогадуєтеся, дізнатися uuid можна далеко не єдиним способом. Наприклад, є набагато більш інформативна команда, яка потребує, однак, адміністративних привілеїв для запуску: Якщо вас не напружиться зайвий раз ввести пароль, то вона вам швидше за все буде більш симпатична, ніж варіант з ls.

9) І навіть не одним способом. Наприклад, для додавання ntfs-розділу в fstab можна скористатися утилітою ntfs-config. правда попередньо вам доведеться її встановити.