Manjaro Difference between revisions of "Fstab/ru"

Difference between revisions of "Fstab/ru"

From Manjaro
Tags: Mobile web edit Mobile edit
 
(23 intermediate revisions by 2 users not shown)
Line 11: Line 11:
Каждая строка файла описывает файловую систему и содержит поля (указанные в колонках), используемые для предоставления информации о ее точке монтирования, опциях, которые должны быть использованы при монтировании и т.д. Каждое поле должно быть отделено друг от друга пробелами или символами табуляции:
Каждая строка файла описывает файловую систему и содержит поля (указанные в колонках), используемые для предоставления информации о ее точке монтирования, опциях, которые должны быть использованы при монтировании и т.д. Каждое поле должно быть отделено друг от друга пробелами или символами табуляции:
  # /etc/fstab: статическая информация о файловой системе.
  # /etc/fstab: статическая информация о файловой системе.
  # <файловая система> <точка монтирования> <тип> <опции> <дамп> <пас>
  # <file system>                           <mount point> <type> <options>                     <dump> <pass>
  LABEL=ESP /boot/efi vfat umask=0077 0 2
  LABEL=ESP                                 /boot/efi     vfat   umask=0077                         0       2
  /dev/sda5 / ext4 defaults,noatime,discard 0 1
  /dev/sda5                                 /             ext4   defaults,noatime,discard           0       1
  UUID=18360b04-a96d-4a99-8323-b07717f36a31 swap swap defaults,noatime,discard 0 0
  UUID=18360b04-a96d-4a99-8323-b07717f36a31 none          swap   defaults,discard=pages            0       0
  UUID=b4108631-e051-48d8-b2ff-a1d924a893f1 /home ext4 defaults,noatime,discard 0 2
  UUID=b4108631-e051-48d8-b2ff-a1d924a893f1 /home         ext4   defaults,noatime,discard           0       2
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
  UUID=634E43D367B0A4B1                     /run/media/data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2
  UUID=634E43D367B0A4B1 /media/Data ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2


Каждый столбец в вышеприведенной таблице - это "поля" fstab, которые будут описаны в следующем разделе.
Каждый столбец в вышеприведенной таблице - это "поля" fstab, которые будут описаны в следующем разделе.
Line 74: Line 73:
Более подробную информацию о стандарте иерархии файловой системы Linux смотрите в разделе [[#Смотрите также]], но в двух словах Вы должны указать существующий каталог в вашей файловой системе, куда хотите смонтировать раздел.
Более подробную информацию о стандарте иерархии файловой системы Linux смотрите в разделе [[#Смотрите также]], но в двух словах Вы должны указать существующий каталог в вашей файловой системе, куда хотите смонтировать раздел.


<div lang="en" dir="ltr" class="mw-content-ltr">
В приведенном выше примере файла {{ic|fstab}} в его выводе {{ic|blkid}} содержится следующая строка:
In the example {{ic|fstab}} file above, the following line in it's {{ic|blkid}} output:
  /dev/sdc1: LABEL="Win-Data" BLOCK_SIZE="512" UUID="634E43D367B0A4B1" TYPE="ntfs" PARTUUID="ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"
  /dev/sdc1: LABEL="Win-Data" BLOCK_SIZE="512" UUID="634E43D367B0A4B1" TYPE="ntfs" PARTUUID="ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"
* is the Windows D: Drive
* это диск D: в Windows
* has an NTFS label of "Win-Data"
* имеет метку NTFS "Win-Data"
* has a Windows UUID of "634E43D367B0A4B1" (different from Linux UUIDs)
* имеет UUID Windows "634E43D367B0A4B1" (отличается от UUID Linux)
* contains the NTFS File System
* содержит файловую систему NTFS
* has a partition UUID of "ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"
* имеет UUID раздела "ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Я нашел комбинацию опций systemd (на ArchWiki [https://wiki.archlinux.org/index.php/Systemd_(Русский)]), которые можно использовать в /etc/fstab при монтировании устройств хранения - будь то внутренние, внешние или сетевые ресурсы.
and gets mounted on the {{ic|/media/Data}} according to this line:
UUID=634E43D367B0A4B1                    /media/Data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
== Тип файловой системы ==
== Filesystem Type ==
Это поле описывает тип файловой системы. Linux поддерживает множество типов файловых систем: ext4, xfs, btrfs, f2fs, vfat, ntfs-3g (для совместимости с Windows), hfsplus (для совместимости с Mac), tmpfs, sysfs, proc, iso9660 (позволяет монтировать файлы ISO CD/DVD как каталоги только для чтения), udf, squashfs, nfs, cifs и многие другие.  
This field describes the type of the filesystem. Linux supports many filesystem types: ext4, xfs, btrfs, f2fs, vfat, ntfs-3g (for Windows compatibility), hfsplus (for Mac Compatibility), tmpfs, sysfs, proc, iso9660 (to allow you to mount CD/DVD ISO files as Read-Only directories), udf, squashfs, nfs, cifs, and many more.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Запись swap обозначает файл или раздел, который будет использоваться для подкачки.
An entry swap denotes a file or partition to be used for swapping.
Запись none полезна для привязки или перемещения монтирования.
An entry none is useful for bind or move mounts.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Можно указать более одного типа в списке, разделенном запятыми.
More than one type may be specified in a comma-separated list.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Используя тот же пример файла {{ic|fstab}} и строка "Win-Data", что и выше, {{ic|ntfs-3g}} является файловой системой, с которой мы монтируем этот диск, хотя {{ic|blkid}} показывает {{ic|ntfs}}.  Это просто потому, что драйвер {{ic|ntfs}} - это драйвер только для чтения (позволяющий видеть файлы Windows, но не изменять их, тогда как {{ic|ntfs-3g}} (для 3-го поколения) позволяет использовать большинство опций NTFS (кроме шифрования), а значит, и возможности чтения-записи:
Using the same example {{ic|fstab}} file and "Win-Data" line as above, {{ic|ntfs-3g}} is the file system we're mounting this one under although the {{ic|blkid}} shows {{ic|ntfs}}.  This is simply because the {{ic|ntfs}} driver is a read-only driver (allowing you to see your Windows files, but not modify them, whereas the {{ic|ntfs-3g}} (for 3rd generation) allows most NTFS options (except encryption) thus also read-write capabilities:
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
  UUID=634E43D367B0A4B1                    /media/Data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2
UUID=634E43D367B0A4B1                    /media/Data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
== Параметры монтирования ==
== Mount options ==
В этом поле описываются параметры монтирования, связанные с файловой системой.
This field describes the mount options associated with the filesystem.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Форматируется как список опций, разделенных запятыми. Он содержит как минимум тип монтирования (ro или rw), плюс любые дополнительные опции, соответствующие типу файловой системы (включая опции настройки производительности).  
It is formatted as a comma-separated list of options. It contains at least the type of mount (ro or rw), plus any additional options appropriate to the filesystem type (including performance-tuning options).
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Основные опции, не зависящие от файловой системы, следующие:
Basic filesystem-independent options are:
* defaults: использовать опции по умолчанию: rw, suid, dev, exec, auto, nouser и async.
* defaults: use default options: rw, suid, dev, exec, auto, nouser, and async.
* noauto: не монтировать, когда задана команда mount -a (т.е. во время загрузки).
* noauto: do not mount when mount -a is given (I.E. at boot time)
* user: разрешить монтирование любому пользователю (т.е. не требуется {{ic|sudo}})
* user: allow any user to mount (I.E. no {{ic|sudo}} needed)
* owner: разрешить монтирование только владельцу устройства
* owner: Only allow device owner to mount
* comment: или x-<имя> для использования программами, поддерживающими fstab.
* comment: or x-<name> for use by fstab-maintaining programs
* nofail: не сообщать об ошибках для этого устройства, если оно не существует.
* nofail: do not report errors for this device if it does not exist.
</div>


=== Параметры монтирования FAT ===
=== Параметры монтирования FAT ===
Line 140: Line 118:


== Дамп? ==
== Дамп? ==
Это поле должно быть равно 1 или 0 и используется {{ic|dump}} для определения того, какие файловые системы должны быть сброшены в случае coredump (=crash). По умолчанию оно равно нулю (не сбрасывать), если отсутствует.
Это поле должно быть равно 1 или 0 и используется {{ic|dump}} для определения того, какие файловые системы должны быть сохранены в резервной копии в случае coredump (=crash). По умолчанию оно равно нулю (не сохранять), если отсутствует.


<div lang="en" dir="ltr" class="mw-content-ltr">
== Номер прохода ==
== Pass number ==
Это поле используется fsck(8) для определения порядка проверки файловой системы во время загрузки. Корневая файловая система ''должна быть'' указана с fs_passno равным 1. Другие файловые системы должны иметь fs_passno равным 2. Файловые системы на одном диске будут проверяться последовательно, но файловые системы на разных дисках будут проверяться одновременно, чтобы использовать параллелизм, доступный в оборудовании.
This field is used by fsck(8) to determine the order in which filesystem checks are done at boot time. The root filesystem ''should be'' specified with a fs_passno of 1. Other filesystems should have a fs_passno of 2. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Значение по умолчанию равно нулю (не проверять файловую систему), если отсутствует.
Defaults to zero (don’t check the filesystem) if not present.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
= Советы и рекомендации =
= Tips and tricks =
В настройках по умолчанию файловые системы автоматически `fsck` и `mount` перед запуском служб, которым требуется их монтирование. Например, systemd автоматически следит за тем, чтобы монтирование удаленных файловых систем, таких как NFS или Samba, запускалось только после настройки сети. Поэтому монтирование локальных и удаленных файловых систем, указанных в `/etc/fstab`, должно работать из коробки. Подробности смотрите в {{UserCmd|command=man 5 systemd.mount}}.
The default setup will automatically `fsck` and `mount` filesystems before starting services that need them to be mounted. For example, systemd automatically makes sure that remote filesystem mounts like NFS or Samba are only started after the network has been set up. Therefore, local and remote filesystem mounts specified in `/etc/fstab` should work out of the box. See {{UserCmd|command=man 5 systemd.mount}} for details.
</div>


=Смотрите также=
=Смотрите также=

Latest revision as of 06:36, 20 September 2023

Other languages:
English • ‎Türkçe • ‎français • ‎русский

Использование fstab

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

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

Команда mount --all смонтирует все файловые системы, указанные в fstab (кроме тех, в строке которых содержится ключевое слово noauto). Файловые системы монтируются в порядке их следования в fstab. Команда mount сравнивает исходную и целевую файловые системы для обнаружения уже смонтированных. Таблица ядра с уже смонтированными файловыми системами кэшируется во время mount --all - это означает что все дублирующиеся записи fstab будут смонтированы.

Пример файла

Каждая строка файла описывает файловую систему и содержит поля (указанные в колонках), используемые для предоставления информации о ее точке монтирования, опциях, которые должны быть использованы при монтировании и т.д. Каждое поле должно быть отделено друг от друга пробелами или символами табуляции:

# /etc/fstab: статическая информация о файловой системе.
# <file system>                           <mount point>  <type>  <options>                     <dump>  <pass>
LABEL=ESP                                 /boot/efi      vfat    umask=0077                         0       2
/dev/sda5                                 /              ext4    defaults,noatime,discard           0       1
UUID=18360b04-a96d-4a99-8323-b07717f36a31 none           swap    defaults,discard=pages             0       0
UUID=b4108631-e051-48d8-b2ff-a1d924a893f1 /home          ext4    defaults,noatime,discard           0       2
UUID=634E43D367B0A4B1                     /run/media/data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2

Каждый столбец в вышеприведенной таблице - это "поля" fstab, которые будут описаны в следующем разделе.

Определения полей

Спецификация файловой системы

Это поле описывает по одному из следующих параметров:

  • специальное блочное устройство
  • удаленная файловая система
  • образ файловой системы для монтируемого устройства
  • файл подкачки или раздел подкачки, который должен быть включен

Это поле обычно имеет вид:

  • /dev/XdY
  • LABEL=< label>
  • UUID=<uuid>

для уникальной идентификации файловой системы, которую вы хотите смонтировать. Поскольку UUID обязательно уникален - Вы увидите, что он используется по умолчанию в более современных системах, в то время как имя устройства и метка используются только в старых системах, поэтому в этом руководстве мы сосредоточимся на UUID, но знайте, что если вы настаиваете на использовании порядка этих систем - они все еще работают на момент написания этой статьи.

Для получения UUID всех Ваших устройств - выполните команду blkid с правами root:

user $ sudo blkid COPY TO CLIPBOARD


и вы получите что-то вроде этого:

/dev/sda1: LABEL_FATBOOT="ESP" LABEL="ESP" UUID="2462-755F" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b86c0cae-3055-4d9e-9e12-1fa1e2cd32d2"
/dev/sda2: PARTLABEL="Microsoft reserved partition" PARTUUID="b0679b89-007c-441b-88a3-74a39f1f8b2b"
/dev/sda3: LABEL="WINSYS" BLOCK_SIZE="512" UUID="029873F49873E497" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="f8d444b9-ec60-4ac8-b12a-52448119fad1"
/dev/sda4: BLOCK_SIZE="512" UUID="0EB23063B2305207" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="cb083fb5-d61c-48e3-a657-ceb363a983b1"
/dev/sda5: UUID="9b539186-41e9-46f0-a515-1ec6c3544367" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="7bd52fb7-4d7d-412c-bc01-e3c98c7f3bb1"
/dev/sda6: UUID="b4108631-e051-48d8-b2ff-a1d924a893f0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="9683d669-e0fd-496a-bd9c-f0e51d0bd561"
/dev/sda7: UUID="18360b04-a96d-4a99-8323-b07717f36a30" TYPE="swap" PARTUUID="7434de88-dd5c-4ce5-a6e2-4bb65c16eab5"
/dev/sdb2: UUID="26055107-28cd-457e-9a31-46781de4065d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="86bdde2c-b92c-43fc-811a-6d0cdc312be1"
/dev/sdb3: UUID="c9dd0f4c-5793-446e-90bb-d10e27bf4922" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="d02838bd-371c-4673-96ed-8aad73bb6d91"
/dev/sdc1: LABEL="Win-Data" BLOCK_SIZE="512" UUID="634E43D367B0A4B1" TYPE="ntfs" PARTUUID="ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"

Любой из выводов blkid можно использовать в качестве первого поля в файле fstab.

Например, все следующие строки являются допустимыми записями для первой строки вывода приведенного выше примера:

# <file system>                           <mount point>  <type>  <options>                     <dump>  <pass>
LABEL=ESP                                 /boot/efi      vfat    umask=0077                         0       2
UUID=2462-755F                            /boot/efi      vfat    umask=0077                         0       2
LABEL=EFI\040system\040partition          /boot/efi      vfat    umask=0077                         0       2
UUID=b86c0cae-3055-4d9e-9e12-1fa1e2cd32d2 /boot/efi      vfat    umask=0077                         0       2

Т.е. для монтирования раздела ESP в файле fstab должна присутствовать только одна из перечисленных строк, но любая из них будет работать! Однако настоятельно рекомендуется использовать UUID, поскольку он глобально уникален!. Это означает, что если Вы перенесете диск на другую машину - он сохранит свой UUID, и не будет никаких неожиданностей, например, компьютер, на который вы перенесли существующий диск, вдруг:

  • загружается с раздела EFI System Partition на новом диске вместо своего собственного ESP.
  • невозможно смонтировать собственный раздел Windows, потому что вы только что добавили еще один, и он имеет приоритет (или нет: в зависимости от точной версии ядра и драйвера файловой системы, что приводит к загрузке только в 50% случаев и другим странным проблемам)
  • невозможно смонтировать диск, потому что диск, который вы только что вставили в слот M2 #1, получил имя /dev/sda, а диск в слоте #2, который раньше назывался /dev/sda, теперь вдруг стал /dev/sdb.
  • и т.д. и т.п.

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

Это поле описывает точку монтирования (цель) внутри вашей файловой системы. Для разделов с подкачкой это поле должно быть указано как `none'. Если имя точки монтирования содержит пробелы или табуляцию - они могут быть экранированы как `\040' и '\011' соответственно.

Более подробную информацию о стандарте иерархии файловой системы Linux смотрите в разделе #Смотрите также, но в двух словах Вы должны указать существующий каталог в вашей файловой системе, куда хотите смонтировать раздел.

В приведенном выше примере файла fstab в его выводе blkid содержится следующая строка:

/dev/sdc1: LABEL="Win-Data" BLOCK_SIZE="512" UUID="634E43D367B0A4B1" TYPE="ntfs" PARTUUID="ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"
  • это диск D: в Windows
  • имеет метку NTFS "Win-Data"
  • имеет UUID Windows "634E43D367B0A4B1" (отличается от UUID Linux)
  • содержит файловую систему NTFS
  • имеет UUID раздела "ca8d0663-6a6e-4b09-a0d7-05b59d109ab1"

Я нашел комбинацию опций systemd (на ArchWiki [1]), которые можно использовать в /etc/fstab при монтировании устройств хранения - будь то внутренние, внешние или сетевые ресурсы.

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

Это поле описывает тип файловой системы. Linux поддерживает множество типов файловых систем: ext4, xfs, btrfs, f2fs, vfat, ntfs-3g (для совместимости с Windows), hfsplus (для совместимости с Mac), tmpfs, sysfs, proc, iso9660 (позволяет монтировать файлы ISO CD/DVD как каталоги только для чтения), udf, squashfs, nfs, cifs и многие другие.

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

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

Используя тот же пример файла fstab и строка "Win-Data", что и выше, ntfs-3g является файловой системой, с которой мы монтируем этот диск, хотя blkid показывает ntfs. Это просто потому, что драйвер ntfs - это драйвер только для чтения (позволяющий видеть файлы Windows, но не изменять их, тогда как ntfs-3g (для 3-го поколения) позволяет использовать большинство опций NTFS (кроме шифрования), а значит, и возможности чтения-записи:

UUID=634E43D367B0A4B1                     /media/Data    ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2

Параметры монтирования

В этом поле описываются параметры монтирования, связанные с файловой системой.

Форматируется как список опций, разделенных запятыми. Он содержит как минимум тип монтирования (ro или rw), плюс любые дополнительные опции, соответствующие типу файловой системы (включая опции настройки производительности).

Основные опции, не зависящие от файловой системы, следующие:

  • defaults: использовать опции по умолчанию: rw, suid, dev, exec, auto, nouser и async.
  • noauto: не монтировать, когда задана команда mount -a (т.е. во время загрузки).
  • user: разрешить монтирование любому пользователю (т.е. не требуется sudo)
  • owner: разрешить монтирование только владельцу устройства
  • comment: или x-<имя> для использования программами, поддерживающими fstab.
  • nofail: не сообщать об ошибках для этого устройства, если оно не существует.

Параметры монтирования FAT

TBD

Параметры монтирования EXT2/3/4

TBD

Параметры монтирования NTFS-3G

TBD

Дамп?

Это поле должно быть равно 1 или 0 и используется dump для определения того, какие файловые системы должны быть сохранены в резервной копии в случае coredump (=crash). По умолчанию оно равно нулю (не сохранять), если отсутствует.

Номер прохода

Это поле используется fsck(8) для определения порядка проверки файловой системы во время загрузки. Корневая файловая система должна быть указана с fs_passno равным 1. Другие файловые системы должны иметь fs_passno равным 2. Файловые системы на одном диске будут проверяться последовательно, но файловые системы на разных дисках будут проверяться одновременно, чтобы использовать параллелизм, доступный в оборудовании.

Значение по умолчанию равно нулю (не проверять файловую систему), если отсутствует.

Советы и рекомендации

В настройках по умолчанию файловые системы автоматически `fsck` и `mount` перед запуском служб, которым требуется их монтирование. Например, systemd автоматически следит за тем, чтобы монтирование удаленных файловых систем, таких как NFS или Samba, запускалось только после настройки сети. Поэтому монтирование локальных и удаленных файловых систем, указанных в `/etc/fstab`, должно работать из коробки. Подробности смотрите в

user $ man 5 systemd.mount COPY TO CLIPBOARD


.

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

https://refspecs.linuxfoundation.org/FHS_3.0/index.html

https://www.opennet.ru/docs/RUS/file-sys/

Cookies help us deliver our services. By using our services, you agree to our use of cookies.