Etc fstab in linux

Как правильно редактировать файл /etc/fstab

Оригинал: How to edit and understand /etc/fstab
Автор: Nana Langstedt
Свободный перевод: Алексей Дмитриев
Дата перевода: 11 декабря 2007

Что такое файл /etc/fstab и для чего он нужен

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

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

Файл /etc/fstab это обычный текстовый файл, поэтому его можно редактировать в любом текстовом редакторе. Единственное требование — наличие прав суперпользователя. Так что, прежде чем приступать, войдите в систему как root или используйте команду su, чтобы получить права root.

Как выглядит файл /etc/fstab

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

Что же означает вся эта тарабарщина? Как легко заметить, каждая строка содержит информацию об одном разделе или устройстве. Первый столбец содержит имя устройства, второй — точку его монтирования, третий — тип файловой системы, четвертый — опции монтирования, пятый (число) — опции дампа, шестой (число) опции проверки файловой системы. Давайте подробно рассмотрим всю эту информацию.

Первый и второй столбцы: Устройство и точка монтирования

Первый и второй столбцы просты и понятны. Они содержат ровно то же самое, что вы пишете в командной строке, когда даете команду mount, то есть имя устройства (раздела) и точку его монтирования. Точка монтирования, указанная в /etc/fstab, является точкой монтирования по умолчанию. Эта та директория, куда будет примонтировано устройство, если вы не указали другой, когда давали команду mount.

Большинство дистрибутивов Линукса создают специальные директории для точек монтирования. Большинство дистрибутивов создают их в каталоге /mnt, некоторые (в том числе и SuSE), в каталоге /media. Как вы возможно догадались, глядя на распечатку fstab, я привела в качестве примера именно точки монтирования SuSE.

Что все это означает практически? Если я дам команду:

. то моя дискета будет смонтирована в /media/floppy, потому что эта точка монтирования указана в /etc/fstab и поэтому используется по умолчанию. Вот если строчки /dev/fd0 в моем файле /etc/fstab не окажется, то команда mount будет сильно обескуражена, так как не будет знать, куда следует монтировать дискету.

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

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

Они означают, что /dev/hda2 будет примонтирован в директорию /, а /dev/hdb1 — в директорию /home. Это произойдет автоматически, когда система загружается. Если этого не произойдет, то система не сможет работать, так как все программы находятся именно в директории /, и, если она не смонтирована, то и доступа к программам нет! Откуда система узнает, куда вы хотите примонтировать /dev/hda2, а куда /dev/hdb1? Посмотрев файл /etc/fstab, конечно.

Третий столбец: Файловая система

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

ext2 и ext3 С большой вероятностью ваши Линукс-разделы отформатированы в Ext3. Раньше стандартом была система Ext2, но в наши дни почти все дистрибутивы используют по умолчанию Ext3 или ReiserFS. Ext3 более современная система, чем Ext2 и отличается от нее своей журналируемостью. Это, в практическом плане, означает, что, если вы обесточите ваш компьютер, вместо того, чтобы выключить его по всем правилам, то вы не потеряете информацию, и не будете долго ждать при следующем включении, пока ваш компьютер проверяет файловую систему.

Читайте также:  Windows 10 type c монитор

reiserfs Вполне возможно, что ваши Линукс-разделы отформатированы в ReiserFS. Подобно Ext3, ReiserFS тоже журналируемая файловая система, но она является гораздо более «продвинутой». Многие дистрибутивы Линукс (включая SuSE) используют ReiserFS по умолчанию.

swap Своп значит подкачка. Файловая система типа «swap» используется в разделах подкачки.

vfat и ntfs Windows разделы используют либо Vfat, либо NTFS. В 9х сериях (95, 98, МЕ) применялась Vfat, более известная как FAT32, в сериях NT (NT, 2000, XP) используется NTFS. В 2000 и XP можно применять и Vfat тоже. Если вы хотите иметь возможность писать в свои Windows-разделы из Линукса, советую отформатировать их в Vfat, потому что в Линуксе запись в NTFS-разделы до сих пор может причинить головную боль.

auto Нет-нет, это не тип файловой системы 🙂 Опция «auto» просто означает, что тип файловой системы определяется автоматически. Если снова взглянете на пример файла /etc/fstab, приведенный выше, то увидите, что и floppy и CD-ROM — оба — имеют вместо типа файловой системы опцию «auto». Почему? — Дело в том, что в этих устройствах могут применяться различные типы файловых систем. Одна дискета может быть отформатирована для Windows, другая — для Линукс (Ext2). Довольно разумно позволить системе самой определить тип файловой системы на носителях вроде дискет и оптических дисков.

Четвертый столбец: Опции монтирования

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

auto и noauto Если задана опция auto, то устройство будет смонтировано автоматически во время запуска компьютера (или по команде mount -a ). Эта опция включена по умолчанию. Если вам не нужно, чтобы устройство монтировалось автоматически, вы должны прописать опцию noauto в /etc/fstab. С опцией noauto, устройство или раздел могут быть смонтированы только явно.

exec и noexec Если хотите запускать двоичные программы, которые находятся в данном разделе, то применяйте опцию exec, а если не хотите — то noexec. Последнее может быть полезно, если на разделе содержатся программы, которые не могут работать в вашей системе, например Windows- приложения, либо программы, нежелательные к запуску по той или иной причине.

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

ro Монтирует файловую систему в режиме «только чтение».

rw Монтирует файловую систему в режиме «чтение и запись». Применение данной опции вылечит головную боль многих новых пользователей Линукс, рвущих волосы оттого, что не могут записывать: на дискету, в Windows-разделы или куда-либо еще.

sync and async Эти опции определяют как осуществляется ввод/вывод в данную файловую систему: синхронно или асинхронно. Обратите внимание, что в примере опция sync применена с дискетой. Попросту говоря, когда вы копируете файл на дискету, то запись физически происходит в тот самый момент, когда дана команда копировать. Если же применяется опция async, ввод и вывод происходят неодновременно (асинхронно). В случае с дискетой это означает, что физически запись может произойти много позже команды. В этом нет ничего плохого, и во многих случаях даже предпочтительно, но может иметь неприятные побочные следствия: если вытащить дискету из дисковода, не отмонтировав ее, скопированного файла на ней может не оказаться.

По умолчанию применяется опция async. Но, может быть, стоит для дискеты прописать sync, особенно если вы привыкли вытаскивать неотмонтированные дискеты, подобно тому, как это делается в Windows.

defaults По умолчанию включены следующие опции: rw, suid, dev, exec, auto, nouser и async.

Пятый и шестой столбцы: Опции dump и fsck

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

Пятый столбец файла /etc/fstab — это опция дампа, выраженная числом. От значения этого числа зависит, будет ли создаваться резервная копия данной файловой системы. Если это ноль, программа dump проигнорирует такую файловую систему. Как видно из примера, в большинстве строк в пятом столбце нули.

В шестой колонке опция программы fsck (filesystem check- проверка файловой системы). Программа fsck использует значение чисел в этом столбце, чтобы определить, в каком порядке проверять файловые системы. Если там ноль, то файловая система вообще не будет проверяться.

Примеры записей в файл /etc/fstab

Для примера мы разберем два случая, которые чаще прочих расстраивают новых пользователей Линукса: дискета и CD-ROM (хотя дискеты в последнее время употребляются все реже).

Эта строка означает, что дискета монтируется по умолчанию с директорию /media/floppy и что тип файловой системы при этом определяется автоматически. Это полезно, так как тип файловой системы на дискетах может быть различным. Особое внимание обратите на опции rw и user: они обязательно должны быть прописаны, если вы хотите монтировать дискету и записывать на нее, будучи рядовым пользователем. Если это не получается, проверьте файл /etc/fstab на предмет наличия этих опций. Еще обратите внимание на опцию sync. С таким же успехом может быть и async, по причинам, которые мы уже обсудили.

Читайте также:  Поиск приостановлен windows 10

Снова отметьте опцию user, позволяющую рядовому пользователю монтировать компакт диски. Опция ro установлена потому, что нет смысла монтировать CD-ROM в режиме «чтение-запись», ведь на него все равно ничего не запишешь. А вот опция exec очень кстати, если надо запустить какую-либо программу с компакт-диска.

Обратите также внимание на применение опции noauto как с дискетой, так и с CD-ROM, это означает, что они не будут автоматически смонтированы при запуске системы. Это очень разумно для съемных носителей, которых при запуске может просто не быть в дисководах, ведь нет смысла пытаться монтировать то, чего нет.

Источник

fstab

The fstab(5) file can be used to define how disk partitions, various other block devices, or remote filesystems should be mounted into the filesystem.

Each filesystem is described in a separate line. These definitions will be converted into systemd mount units dynamically at boot, and when the configuration of the system manager is reloaded. 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 systemd.mount(5) for details.

The mount command will use fstab, if just one of either directory or device is given, to fill in the value for the other parameter. When doing so, mount options which are listed in fstab will also be used.

Contents

Usage

A simple /etc/fstab , using file system UUIDs:

  • describes the block special device or remote filesystem to be mounted; see #Identifying filesystems.
  • describes the mount directory.
  • the file system type.
  • the associated mount options; see mount(8) § FILESYSTEM-INDEPENDENT_MOUNT_OPTIONS and ext4(5) § MOUNT_OPTIONS .
  • is checked by the dump(8) utility. This field is usually set to 0 , which disables the check.
  • sets the order for filesystem checks at boot time; see fsck(8) . For the root device it should be 1 . For other partitions it should be 2 , or 0 to disable checking.

All specified devices within /etc/fstab will be automatically mounted on startup and when the -a flag is used with mount(8) unless the noauto option is specified. Devices that are listed and not present will result in an error unless the nofail option is used.

Identifying filesystems

There are different ways to identify filesystems that will be mounted in /etc/fstab : kernel name descriptor, file system label and UUID, and GPT partition label and UUID for GPT disks. UUID or PARTUUID must be privileged over kernel name descriptors and labels. See Persistent block device naming for more explanations. It is recommended to read that article first before continuing with this article.

In this section, we will describe how to mount filesystems using all the mount methods available via examples. The output of the commands lsblk -f and blkid used in the following examples are available in the article Persistent block device naming.

To use kernel name descriptors, use /dev/sdxy in the first column.

Kernel name descriptors

Run lsblk -f to list the partitions and prefix the values in the NAME column with /dev/ .

File system labels

Run lsblk -f to list the partitions, and prefix the values in the LABEL column with LABEL= or alternatively run blkid and use the LABEL values without the quotes:

File system UUIDs

Run lsblk -f to list the partitions, and prefix the values in the UUID column with UUID= or alternatively run blkid and use the UUID values without the quotes::

GPT partition labels

Run blkid to list the partitions, and use the PARTLABEL values without the quotes:

GPT partition UUIDs

Run blkid to list the partitions, and use the PARTUUID values without the quotes:

Tips and tricks

Automount with systemd

See systemd.mount(5) for all systemd mount options.

Local partition

In case of a large partition, it may be more efficient to allow services that do not depend on it to start while it is checked by fsck. This can be achieved by adding the following options to the /etc/fstab entry of the partition:

Читайте также:  Linux ubuntu увеличить размер диска

This will fsck and mount the partition only when it is first accessed, and the kernel will buffer all file access to it until it is ready. This method can be relevant if one has, for example, a significantly large /home partition.

Remote filesystem

The same applies to remote filesystem mounts. If you want them to be mounted only upon access, you will need to use the noauto,x-systemd.automount parameters. In addition, you can use the x-systemd.mount-timeout= option to specify how long systemd should wait for the mount command to finish. Also, the _netdev option ensures systemd understands that the mount is network dependent and order it after the network is online.

Encrypted filesystem

If you have encrypted filesystems with keyfiles, you can also add the noauto parameter to the corresponding entries in /etc/crypttab . systemd will then not open the encrypted device on boot, but instead wait until it is actually accessed and then automatically open it with the specified keyfile before mounting it. This might save a few seconds on boot if you are using an encrypted RAID device for example, because systemd does not have to wait for the device to become available. For example:

Automatic unmount

You may also specify an idle timeout for a mount with the x-systemd.idle-timeout flag. For example:

This will make systemd unmount the mount after it has been idle for 1 minute.

External devices

External devices that are to be mounted when present but ignored if absent may require the nofail option. This prevents errors being reported at boot. For example:

The nofail option is best combined with the x-systemd.device-timeout option. This is because the default device timeout is 90 seconds, so a disconnected external device with only nofail will make your boot take 90 seconds longer, unless you reconfigure the timeout as shown. Make sure not to set the timeout to 0, as this translates to infinite timeout.

Filepath spaces

Since spaces are used in fstab to delimit fields, if any field (PARTLABEL, LABEL or the mount point) contains spaces, these spaces must be replaced by escape characters \ followed by the 3 digit octal code 040 :

atime options

Below atime options can impact drive performance.

  • The strictatime option updates the access time of the files every time they are accessed. This is more purposeful when Linux is used for servers; it does not have much value for desktop use. The drawback about the strictatime option is that even reading a file from the page cache (reading from memory instead of the drive) will still result in a write.
  • The noatime option fully disables writing file access times to the drive every time you read a file. This works well for almost all applications, except for those that need to know if a file has been read since the last time it was modified. The write time information to a file will continue to be updated anytime the file is written to with this option enabled.
  • The nodiratime option disables the writing of file access times only for directories while other files still get access times written.

When using Mutt or other applications that need to know if a file has been read since the last time it was modified, the noatime option should not be used; using the relatime option is acceptable and still provides a performance improvement.

Since kernel 4.0 there is another related option:

  • lazytime reduces writes to disk by maintaining changes to inode timestamps (access, modification and creation times) only in memory. The on-disk timestamps are updated only when either (1) the file inode needs to be updated for some change unrelated to file timestamps, (2) a sync to disk occurs, (3) an undeleted inode is evicted from memory or (4) if more than 24 hours passed since the the last time the in-memory copy was written to disk.

Note that the lazytime option works in combination with the aforementioned *atime options, not as an alternative. That is relatime by default, but can be even strictatime with the same or less cost of disk writes as the plain relatime option.

Remounting the root partition

If for some reason the root partition has been improperly mounted read only, remount the root partition with read-write access with the following command:

GPT partition automounting

When using UEFI/GPT, it is possible to omit certain partitions from /etc/fstab by partitioning according to the Discoverable Partitions Specification and have systemd-gpt-auto-generator(8) mount the partitions. See systemd#GPT partition automounting.

Источник

Оцените статью