Поиск по сайту:

Что такое Fstab в Linux | Введение в Linux. Файл /etc/fstab.

Объяснение таблицы файловой системы Linux (файл /etc/fstab)

В этом руководстве мы узнаем, что такое fstab в Linux и как используется файл fstab, структура /etc/fstab. файл и, наконец, как устранить проблемы с fstab. В конце мы также кратко обсудим файл mtab, его использование и отличия mtab от fstab.

Что такое фстаб?

Для администратора сервера, пользователя настольного компьютера Linux или любого человека, который плохо знаком с Linux, очень важно понимать, что такое файл /etc/fstab в Linux и как устранять проблемы с fstab.

Fstab — это файлфайл system таблица, используемый ядром во время загрузки для монтирования файловой системы. Проще говоря, вы создадите один или несколько разделов на своем жестком диске и сделаете запись для каждого раздела в fstab, которая будет прочитана ядром во время загрузки, и файловая система будет автоматически смонтирована.

По умолчанию любые разделы, созданные вами во время установки ОС, будут автоматически добавлены в файл fstab. Давайте углубимся и посмотрим, как структурирован fstab и как его использовать.

ПРИМЕЧАНИЕ. Перед редактированием файла fstab НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ сделать резервную копию файла. Если что-то испортилось, вы можете вернуть резервную копию.

Структура файла /etc/fstab

Fstab находится в каталоге /etc/ и принадлежит пользователю root. Поэтому вам следует редактировать файл, используя привилегии sudo или от имени пользователя root.

Отобразите файл fstab, выполнив следующую команду, чтобы понять его структуру.

cat /etc/fstab
cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format

Содержимое файла fstab

Файл Fstab состоит из шести столбцов (разделов).

  1. Файловая система – заблокировать устройство, которое разбито на разделы и на нем создана файловая система.
  2. Точка монтирования — место, где файловая система монтируется в вашей системе.
  3. Тип — тип файловой системы (Ext4, Ext3, swap, Xfs и т. д.).
  4. Параметры. Определяет, какие параметры монтирования следует учитывать при монтировании файловой системы.
  5. Дамп — предназначен для резервного копирования, используемого утилитой dump. Установка нуля означает отключение резервного копирования, а единица означает включение резервного копирования на данное устройство/носитель.
  6. Пройден — проверка файловой системы во время загрузки утилитой fsck. Ноль отключит проверку файловой системы, и для корневой файловой системы должно быть установлено значение 1, а для других разделов — 2.

Каждая файловая система описывается в отдельной строке. Поля в каждой строке разделяются табуляцией или пробелом.

Давайте посмотрим на эти шесть параметров подробно.

1. Файловая система

В первом столбце fstab вам нужно указать, какой раздел вы собираетесь монтировать. Вы можете использовать имя блочного устройства, например /dev/sda*, или использовать UUID.

Когда вы создаете файловую систему поверх любого разбитого на разделы диска с помощью команды mkfs, для этого конкретного раздела будет создан UUID.

Допустим, вы создали новый раздел, и это sdb1. В этом случае ваш fstab будет следующим.

/dev/sdb1 /home ext4 defaults 0 0

Монтирование с использованием имен

Чтобы получить идентификатор блока для любой файловой системы, выполните следующую команду.

blkid                # Print info about all fs.
blkid /dev/sdb1      # Print info about given fs alone.

Теперь, используя этот идентификатор блока, вы можете смонтировать файловую систему, как показано на изображении ниже.

Монтирование с использованием UUID

2. Точка монтирования

Во втором столбце вам необходимо указать каталог точки монтирования. Точка монтирования — это каталог в файловой системе, куда будет смонтирован ваш разбитый на разделы диск.

Как вы видите на изображении ниже, каждый раздел монтируется в отдельный каталог. Например, раздел /dev/sdb1 выделен для домашнего каталога и смонтирован в /home.

Точка монтирования

Допустим, вы создали новый раздел размером 100 ГБ и типом раздела EXT4. Запись fstab будет следующей. Здесь /mnt/data1 — точка монтирования.

UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0

Или

/dev/sdb2 /mnt/data1/ ext4 defaults 0 0

3. Тип файловой системы

Здесь вы укажете тип файловой системы (EXT2, EXT3, EXT4, XFS, VFAT, SWAP и т. д.). Если вы хотите узнать тип файловой системы для блочного устройства, используйте команду blkid или lsblk.

lsblk -f /dev/sdb1
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdb1 ext4         365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
blkid /dev/sdb1
/dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"

Тип файловой системы

4. Варианты крепления

Это важный столбец, в котором вы будете передавать параметры монтирования файловой системы. Существует множество вариантов крепления, которые можно использовать. Для обычного использования достаточно использовать опцию по умолчанию. Опция по умолчанию указывает на комбинацию из семи (rw, suid, dev, exec, auto , nouser и async).

Давайте посмотрим, что делает опция по умолчанию.

  • rw — указывает, что файловая система должна быть смонтирована в режиме чтения-записи. При возникновении ошибки вы можете смонтировать файловую систему в режиме только для чтения, используя опцию errors=remount-ro.
  • suid — с помощью этой опции будет разрешена любая операция, связанная с suid и sgid.
  • dev — он будет интерпретировать символьные и блочные устройства в файловой системе. Если вы не хотите интерпретировать символы и блокировать устройства, вы можете явно использовать опцию nodev.
  • exec — из файловой системы вы можете выполнять двоичные файлы, установив параметр exec. Напротив, вы можете использовать опцию noexec, чтобы не выполнять двоичные файлы из файловой системы.
  • auto — этот параметр отвечает за автоматическое монтирование файловой системы во время загрузки или при каждом запуске команды mount -a с терминала. Напротив, есть опция noauto, которая позволяет монтировать файловую систему только индивидуально.
  • nouser — только суперпользователь может смонтировать файловую систему. Вы также можете использовать параметры «пользователь» и «пользователи», которые позволяют обычному пользователю монтировать и размонтировать файловую систему.
  • async — все операции ввода-вывода должны выполняться асинхронно. Если вы используете опцию «синхронизировать», операция ввода-вывода будет выполняться синхронно.

В зависимости от требований вам может потребоваться использовать разные варианты. Если в вашей среде уже есть рабочий сервер, я предлагаю вам взглянуть на файл fstab, который даст вам хорошее представление о том, какие параметры монтирования используются.

Варианты крепления

5. Дамп

Этот столбец предназначен для целей резервного копирования. Если установлено значение 1, утилита дампа будет создавать резервные копии. Сейчас это устаревшая функция, поскольку изначально она была разработана для создания резервных копий на лентах для старых файловых систем.

рекомендуется установить его равным нулю.

Дамп столбца в fstab

6. Пройти

Во время загрузки утилита fsck выполнит проверку файловой системы на основе значения, указанного в шестом столбце. Если вы установите значение ноль или оставите его пустым, проверка файловой системы будет отключена.

Корневой файловой системе всегда следует указывать значение 1. Для других файловых систем можно установить значение 2. Поскольку для демонстрации я использую VM, я установил все значения на ноль.

Передать столбец в fstab

Исправить проблемы с загрузкой, связанные с файлом Fstab

Если вы допустили ошибку в файле fstab, то при перезагрузке компьютер перейдет в аварийный режим. В аварийном режиме сетевого интерфейса не будет, поэтому вам придется отлаживать прямо в консоли.

Загрузитесь в аварийном режиме

Вам необходимо ввести пароль root, чтобы войти в аварийный режим. Выполните следующую команду и медленно прокрутите страницу, чтобы увидеть сообщения об ошибках. В моем случае я намеренно удалил разделитель (/) в /dev/sdb1.

Исправить проблемы с загрузкой, связанные с файлом Fstab.

В аварийном режиме, если файловая система смонтирована в режиме только для чтения, вам необходимо смонтировать ее в режиме rw и отредактировать файл fstab, чтобы устранить проблему. Чтобы перемонтировать файловую систему в режиме rw, выполните следующую команду.

mount -o rw,remount /

Теперь отредактируйте fstab, чтобы исправить ошибку, и перезагрузите компьютер. Теперь ваша машина должна иметь возможность правильно загружаться.

reboot

Чтобы избежать проблем во время загрузки, вы можете запустить команду mount после добавления записей fstab.

Взгляните на изображение ниже, где я добавил новую запись для /dev/sdb2. Я не указал тип файловой системы, поэтому при запуске команды mount выдается ошибка.

Ошибка типа файловой системы

mount -a
mount: /mnt: unknown filesystem type 'defaults'.

Что такое Mtab-файл?

Когда вы запускаете команду монтирования без передачи каких-либо аргументов, она печатает список смонтированных файловых систем.

mount

В каталоге /etc/ также есть файл mtab. Когда вы посмотрите на /etc/mtab, он будет точно таким же, как вывод команды mount.

Давайте посмотрим, что говорит справочная страница о файле mtab.

Что такое файл mtab

Файл /etc/mtab связан с символическими ссылками на монтируемые файлы в файловой системе proc. Если вы запустите команду mount или umount, результат будет обновлен в файлах монтирования.

ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts

Подводя итог разнице между fstab и mtab, fstab используется для монтирования файловой системы во время загрузки, а mtab — для отображения списка смонтированных файловых систем.

Если файл /etc/mtab поврежден или удален случайно, вы можете восстановить его с помощью следующей команды.

sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'

Заключение

В этой статье мы обсудили что такое fstab и mtab и насколько важно для системы сохранять и читать информацию о разделах во время загрузки. Мы также обсудили, что происходит, если в файле fstab допущена ошибка.

Ресурсы:

  • https://www.redhat.com/sysadmin/etc-fstab
  • https://wiki.archlinux.org/title/Fstab

Статьи по данной тематике