Автоматичне монтування fstab і systemd

Відео: 1. LPIC 101. Створення користувачів і груп. Доступ до sudo. newgrp, id, usermod

Як ви знаєте, під час завантаження операційної системи Linux все використовувані розділи збираються в єдину кореневу файлову систему. Все це виконується системою ініціалізації і користувач навіть не помічає переходів між розділами. Наприклад, домашній розділ монтується в / home, завантажувальний в / boot.

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

 Як відбувається монтування?

Файлова система Linux дуже сильно відрізняється від Windows, тут немає дисків. Є тільки Конєва файлова система, яка будуватися шляхом монтування всіх потрібних розділів в підкаталоги кореня.

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

Всі ці завдання виконує система ініціалізації, незалежно від того чи використовуєте ви OpenRC або Systemd. Але сама система ініціалізації не знає куди монтувати той чи інший розділ. Для отримання цієї інформації вона використовує конфігураційні файли.

Відео: LPIC 104.3 Монтування і демонтування файлових систем

Системи ініціалізації, сумісні з SysVinit використовують файл / etc / fstab. Нова система ініціалізації Systemd зберегла підтримку / etc / fstab для сумісності, але насправді працює з файлами юнітів * .mount. Під час завантаження файли юнітів автоматично генеруються для всіх записів / etc / fstab.

У цій статті ми розглянемо як налаштувати автомонтірованіе розділів fstab, так і новий спосіб, за допомогою systemd.

Автоматичне монтування fstab

Кожен рядок в fstab описує розділ, який потрібно примонтировать до певної точки монтування. Ми можемо вказати файлову систему, опції монтування, а також чи потрібно перевіряти файлову систему на помилки.

Спочатку давайте розглянемо синтаксис рядка fstab:

пристрій точка_монтірованія файлова_система опції резерв {0,1} перевірка {0,1,2}




Тепер докладніше розглянемо що означає кожен пункт:

  • Пристрій - це розділ диска, який вам потрібно примонтировать. Його можна вказати в форматі файлу пристрою Linux в каталозі / dev /, наприклад, / dev / sda1 або за допомогою унікального ідентифікатора UUID, тоді формат запису буде таким UUID = "XXXX-XXXX-XXXX-XXXX", також можливий запис за допомогою мітки , наприклад, LABEL = home;
  • файлова система вказує в якій файловій системі потрібно монтувати цей пристрій, наприклад, ext4, ext3, ext2, btrfs;
  • точка монтування - куди потрібно примонтировать цей пристрій, наприклад, / home, / boot, / mnt;
  • Опції - параметри монтування файлової системи, розглянемо докладніше нижче;
  • Перевірка - вказує в якій черзі потрібно перевіряти пристрій на помилки, 1 - в першу чергу, 2 - другу, 0 - не перевіряти;
  • резерв - вказує чи потрібно робити резервну копію розділу, може приймати значення тільки 0 і 1.

В основному з цими пунктами все повинно бути зрозуміло, інтерес викликають тільки опції монтування fstab. Для різних файлових систем вони можуть трохи відрізнятися, але є стандартні. І оскільки найчастіше використовуються файлові системи сімейства ext, то ми будемо орієнтуватися на них.

Почнемо з загальних для всіх файлових систем опцій:

  • sync - записувати на диск всі зміни відразу після того, як вони були виконані, не використовувати кешування для записуваних даних. Може знадобиться для вилучення флешки без размонтирования, але сильно знижує продуктивність;
  • async - використовувати кеш під час запису даних, збільшує продуктивність, використовується за умовчанням;
  • atime - зберігати час останнього доступу до файлу;
  • noatime - Ніколи не зберігати час останнього доступу, корисно для ssd і флешок;
  • relatime - оновлювати час доступу тільки при зміні файлу, необхідно для роботи багатьох програм;
  • norelatime - відключити relatime;
  • strictatime - оновлювати час доступу завжди, відключає дію попередніх опцій;
  • auto - автоматично монтувати при завантаженні, дія за замовчуванням;
  • noauto - НЕ монтувати при завантаженні;
  • defaults - використовувати опції монтування fstab за замовчуванням - rw, suid, dev, exec, auto, nouser, async;
  • dev - інтерпретувати блокові пристрої;
  • nodev - НЕ інтерпретувати блокові пристрої;
  • diratime - аналогічно atime тільки для каталогів;
  • dirnoatime - аналогічно noatime, для каталогів;
  • exec - дозволити виконувати програми на цьому розділі;
  • noexec - заборонити виконувати програми на цьому розділі;
  • group - дозволити іншим користувачам крім root монтувати цей розділ, якщо їх група збігається із зазначеною, зазвичай використовується разом з noauto;
  • nofail - не повідомляти про помилки;
  • mand - дозволити блокування файлової системи, потрібно для деяких антивірусів;
  • nomand - заборонити блокування файлової системи;
  • suid - дозволити виконання програм з прапором suid від імені іншого користувача;
  • nosuid - ігнорувати прапор suid;
  • owner - дозволити зазначеній користувачеві монтувати пристрій;
  • ro - монтувати тільки для читання;
  • rw - монтувати для читання і запису;
  • users - дозволити монтування будь-якому користувачеві;
  • umask - встановити права доступу до файлів і папок на цьому розділі;
  • uid - задає власника каталогу, за замовчуванням root;
  • gid - задає групу власника каталогу.

Коли ми розглянули всю теорію, настройка fstab не викличе у вас проблем. Тепер давайте розглянемо стандартне вміст файлу fstab, а також як виконується монтування. Ось так виглядає монтування кореня:

/ Dev / sda3 / home ext4 defaults, noexec 0 2

Тільки тут ми вказали, що його потрібно перевірити другим, а в опціях ще додали, що програми звідти виконувати не можна. Більш цікавий пункт для додаткового диска, на якому зберігаються файли:

/ Dev / sda5 none swap defaults 0 0


Також ви можете примонтировать трошки оперативної пам`яті:

Відео: LFCS

nodev,nosuid,noexec,size = "100M" 0 0

Таким чином, ми примонтировать оперативну пам`ять в / tmp і тепер система буде працювати трохи швидше. Ось що вийшло:

/ Dev / sda2 / ext4 defaults 0 1
/ Dev / sda3 / home ext4 defaults, noexec 0 2
/ Dev / sda4 / media / files / ext4 noauto, users, rw 0 0
/ Dev / sda5 none swap defaults 0 0
tmpfs / tmp tmpfs nodev, nosuid, noexec, size = 100M 0 0

А тепер, як я і обіцяв розглянемо як виконується монтування за допомогою systemd.

Автоматичне монтування в Systemd

Система ініціалізації Systemd аналізує / etc / fstab при завантаженні і автоматично генерує всі потрібні файли юнітів на основі описаних там точок монтування, а вже потім їх завантажує.

Ви можете подивитися всі створені в systemd точки монтування такою командою:

[Unit]
Description = опис

Відео: Automount logical disk автомонтірованіе в Linux Ubuntu Mint

[Mount]
What = адрес_раздела
Where = точка монтування
Type = файлова система
Options = опції монтування

[Install]
WantedBy = multi-user.target

Наприклад, для тієї ж домашньої папки автоматичне монтування fstab буде виглядати ось так, ім`я обов`язково повинно складатися з точки монтування, в якій слеші замінені на дефіс:

[Unit]
Description = Mount System Home Directory

[Mount]
What = / dev / sda3
Where = / home
Type = ext4
Options = defaults, noexec

[Install]
WantedBy = multi-user.target

Точно такий же файл може бути створений для будь-якого пристрою. Тепер для монтування досить набрати:

$ Sudo systemctl enable home.mount

Ось і все тепер ви знаєте не тільки як виконується монтування fstab, а й автоматичне монтування в systemd.

висновки

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

Поділися в соціальних мережах:

Схожі
Як дізнатися вільне місце на диску linuxЯк дізнатися вільне місце на диску linux
Як приховати процес в linuxЯк приховати процес в linux
Файлова система linuxФайлова система linux
Розбивка диска для установки linuxРозбивка диска для установки linux
Безпечне вилучення флешки, навіщо це потрібно?Безпечне вилучення флешки, навіщо це потрібно?
Налаштування glusterfsНалаштування glusterfs
Продуктивність ext4 vs f2fs vs btrfsПродуктивність ext4 vs f2fs vs btrfs
Процес завантаження linuxПроцес завантаження linux
Помилка / dev / sda2 clean files blocks при завантаженніПомилка / dev / sda2 clean files blocks при завантаженні
Як відновити файлову систему в fsckЯк відновити файлову систему в fsck
» » Автоматичне монтування fstab і systemd