Настройка Fstab

Материал из ALT Linux Wiki
(перенаправлено с «Участник:Petr-akhlamov/Fstab»)

fstab, находящийся по адресу /etc/fstab - текстовый файл, содержащий информацию о различных файловых системах и устройствах хранения информации в вашем компьютере. Этот файл определяет, как диск и/или раздел будут использоваться и как будут встроены в остальную систему.

Настройка файла происходит через текстовый редактор открытый от имени суперпользователя.

Формат записи

 #раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа //начиная с решетки пишутся комментарии
 /dev/sda1         /mnt/sda1          ext4               defaults           0 0 

Параметры

  • defaults Использовать настройки по умолчанию (rw,suid,dev,exec,auto,nouser,async)
  • rw / ro — Разрешено чтение и запись / Разрешено только чтение
  • suid / nosuid — Разрешение / Блокировка работы suid, и sgid бит
  • dev / nodev — Интерпретировать / не интерпретировать блок специальных устройств на файловой системе.
  • exec / noexec — Разрешить выполнять двоичные файлы находящиеся на этом диске / Запретить
  • auto / noauto — Устройство будет устанавливаться автоматически при загрузке / Не будет
  • nouser / user — Запрещение монтирование от всех кроме root (nouser) / Разрешение монтировать от лица любого пользователя
  • async / sync — Запись и чтение на диске будут производиться асинхронно / Синхронно[1]

Вспомогательные числа

  • Первое число — возможные значения 0 или 1 — означает, включить/выключить резервное копирование файловой системы при помощи команды dump. Устаревшая опция.
  • Второе число — возможные значения 0, 1, 2, — означает порядок, в котором файловая система должна быть проверена при загрузке:
    • 0 — не проверять.
    • 1 — должна проверяться первой и использоваться как корневая.
    • Для всех остальных систем ставится 2.[2]

UUID vs /dev/sdaX

Fstab-gparted.png
Диск используемый в примере

Раньше для идентификации дисков использовался вид типа /dev/sda1, где a,b, и т.д. физический диск, а 1, 2 и т.д. номер раздела. В настоящее время вместо него используется UUID - Universally Unique Identifier.[3] У каждого варианта есть свои плюсы и минусы:

  • UUID
    • удобно использовать когда к компьютеру периодически подключаются различные диски [не внешние] (например, если вы периодически будете подключать к свободному Sata/IDE порту другой диск, идентификаторы /dev/sdX у вас будут "съезжать" и каталоги монтирования будут нарушаться)
proc            /proc                   proc    nosuid,noexec,gid=proc          0 0
devpts          /dev/pts                devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs           /tmp                    tmpfs   nosuid                          0 0
UUID=bbe58276-7f12-4ebf-9ce3-802deb80e5ff	/	ext4    relatime        1	1
UUID=16669fd2-821f-4fe6-87be-255aca71576b	/home   ext4    nosuid,relatime 1	2
UUID=3a898d57-3304-4c3b-8efd-631971f43a79	swap    swap    defaults        0	0
UUID=B405-0BA5  /mnt/sda3	vfat showexec,quiet,codepage=866,iocharset=utf8,umask=0 0 0
UUID=94E8EABFE8EA9F2C   /mnt/sda1	ntfs-3g locale=ru_RU.UTF-8,nofail,comment=x-gvfs-show,dmask=0,fmask=0111 0 0
UUID=4fae171f-2835-4686-a8ac-1748bd2337cf	/mnt/sda10	ext4 defaults 0 0
UUID=76DCB7B25CB1100A   /mnt/sda5	ntfs-3g locale=ru_RU.UTF-8,nofail,comment=x-gvfs-show,dmask=0,fmask=0111 0 0
UUID=a2c4468b-4bfa-457f-bb3b-128899d069c0	/mnt/sda6	ext4 defaults 0 0
  • /dev/sdaX
    • удобно использовать если у вас:
      • фиксированный размер физических дисков или периодически происходит изменение разделов
      • установлено несколько систем и вы решите переустановить одну из них. При установке у диска сменится UUID, и если у вас прописан корневой раздел другого Linux-дистрибутива в fstab в UUID, то при загрузке будет ошибка монтирования.
proc            /proc                   proc    nosuid,noexec,gid=proc          0 0
devpts          /dev/pts                devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs           /tmp                    tmpfs   nosuid                          0 0
/dev/sda9	/	ext4    relatime        1	1
/dev/sda8	/home   ext4    nosuid,relatime 1	2
/dev/sda7	swap    swap    defaults        0	0
/dev/sda3  /mnt/sda3	vfat showexec,quiet,codepage=866,iocharset=utf8,umask=0 0 0
/dev/sda1   /mnt/sda1	ntfs-3g locale=ru_RU.UTF-8,nofail,comment=x-gvfs-show,dmask=0,fmask=0111 0 0
/dev/sda10	/mnt/sda10	ext4 defaults 0 0
/dev/sda5   /mnt/sda5	ntfs-3g locale=ru_RU.UTF-8,nofail,comment=x-gvfs-show,dmask=0,fmask=0111 0 0
/dev/sda6	/mnt/sda6	ext4 defaults 0 0

"Собственный" fstab

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

Для каждого диска вы можете создать собственную директорию, например:

su-
mkdir /mnt/Windows
mkdir /mnt/SimplyLinux
mkdir /mnt/Ubuntu
mkdir /mnt/Data
mkdir /mnt/ReactOS

И прописать ее в fstab.

proc            /proc                   proc    nosuid,noexec,gid=proc          0 0
devpts          /dev/pts                devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs           /tmp                    tmpfs   nosuid                          0 0
#Root
/dev/sda9	/	ext4    relatime        1	1
#Home
/dev/sda8	/home   ext4    nosuid,relatime 1	2
#swap
/dev/sda7	swap    swap    defaults        0	0

#SimplyLinux
/dev/sda10	/mnt/SimplyLinux        ext4 defaults,comment=x-gvfs-show 0 0
#Ubuntu
/dev/sda6	/mnt/Ubuntu     ext4 defaults,comment=x-gvfs-show 0 0

#Windows
/dev/sda1   /mnt/Windows   ntfs-3g   locale=ru_RU.utf8,comment=x-gvfs-show   0   0
#Data
/dev/sda5   /mnt/Data   ntfs-3g   locale=ru_RU.utf8,comment=x-gvfs-show   0   0
#ReactOS
/dev/sda3   /mnt/ReactOS vfat   user,rw,umask=000,comment=x-gvfs-show   0   0

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

su-
rmdir /mnt/sda3
rmdir /mnt/sda1
rmdir /mnt/sda10
rmdir /mnt/sda5
rmdir /mnt/sda6

Как узнать идентификаторы

Узнать идентификаторы /dev/sdaX или UUID можно следующими способами[4]:

  • Первый способ:
su-
blkid
  • Второй способ:
ls -l /dev/disk/by-uuid/
  • Третий способ:

Графический. С помощью Gparted. Открыв программу выберите раздел, пкм>свойства. В свойствах будет прописан UUID и путь.

Fstab-gparted-info.png

Диск не отображается в файловом менеджере

У меня при использовании дистрибутивов ALT Linux возникла такая проблема, что разделы с другими системами (Ubuntu, Windows, ReactOS RAM) не смотря на то, что примонтированы, не отображаются в файловом менеджере. Данная проблема решается с помощью параметра ,comment=x-gvfs-show.

Fstab1.png

С комментарием

Fstab2.png

И без

Файловые системы

Swap

/dev/sda7	swap    swap    defaults        0	0

Fat

/dev/sda3  /mnt/sda3	vfat showexec,quiet,codepage=866,iocharset=utf8,umask=0 0 0

NTFS

/dev/sda1   /mnt/sda1	ntfs-3g locale=ru_RU.UTF-8,nofail,dmask=0,fmask=0111 0 0

Ext

/dev/sda10	/mnt/sda10	ext4 defaults 0 0

NTFS и Windows

Чтобы драйвер NTFS-3G поддерживал ограничения имен файлов оригинальной NTFS (и тем самым гарантировать открытие в Windows сохраненного в Linux файла) необходимо прописать опцию windows_names.[5]

UUID=76DCB7B25CB1100A   /mnt/sda5	ntfs-3g locale=ru_RU.UTF-8,nofail,comment=x-gvfs-show,windows_names,dmask=0,fmask=0111 0 0