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

Формат записи[править]

 #раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа //начиная с решетки пишутся комментарии
 /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) / Разрешение монтировать от лица любого пользователя

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

Первое число — возможные значения 0 или 1 — означает, включить/выключить резервное копирование файловой системы при помощи команды dump. Устаревшая опция.

  • Второе число — возможные значения 0, 1, 2, — означает порядок, в котором файловая система должна быть проверена при загрузке:
    • 0 — не проверять.
    • 1 — должна проверяться первой и использоваться как корневая.

Заключительные наблюдения

Используя можно было принудительно перейти на версии Linux. Эта техника не представлена ​​здесь по двум причинам.

  1. Это может иметь непредсказуемое поведение.
  2. Это не было постоянным и должно было бы повторяться при каждой перезагрузке.

Devuan Linux использует init, а не . Компьютер был загружен с последней версией Devuan и протестирован. Опция (перемещение) работала, как и ожидалось в этой системе.

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

Sequoia’s 55PB Lustre+ZFS Filesystem

Sequoia’s 55PB Lustre+ZFS Filesystem

Вы хотите восстановить удаленные файлы, папки и данные в Windows 10/8 / 7? Проверьте этот список бесплатного программного обеспечения для восстановления данных, чтобы помочь вам восстановить файлы.

Значок DVD-диска не отображается или отсутствует в папке «Мой компьютер» или «Эта папка ПК»? Драйвер DVD Drive Repair восстановит отсутствующие значки DVD в Windows 8 | 7.

Пакет Verifier для проверки установщика Windows будет устранять неполадки в файлах кэширования установщика Windows. Возможно, вам придется перестроить ОС и переустановить приложения.

Формат строки

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

filesystem    dir    type    options    dump    pass

filesystem

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

type

Тип файловой системы. Поддерживается множество типов: ext2, ext3, ext4, btrfs, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap и auto. При выборе auto команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD).

options

Параметры монтирования файловой системы. Подробнее смотрите на man странице mount

Обратите внимание, что некоторые параметры относятся к конкретным типам файловых систем.

Опция Значение
auto Файловая система монтируется при загрузке автоматически или после выполнения команды ‘mount -a’.
noauto Файловая система может быть смонтирована только вручную.
exec Позволяет исполнять бинарные файлы на разделе диска. Установлено по умолчанию.
noexec Бинарные файлы не выполняются. Использование опции на корневой системе приведёт к её неработоспособности.
ro Монтирует файловую систему только для чтения.
rw Монтирует файловую систему для чтения/записи.
sync Все операции ввода-вывода должны выполняться синхронно.
async Все операции ввода-вывода должны выполняться асинхронно.
user Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены.
nouser Только суперпользователь может монтировать файловую систему. Используется по умолчанию.
defaults Использовать значения по умолчанию. Соответствует набору rw, suid, dev, exec, auto, nouser, async.
suid Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи.
nosuid Запрещает операции с suid и sgid битами.
nodev Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевая директория команды chroot всегда должны монтироваться с опцией dev или defaults.
atime Включает запись информации о последнем времени доступа (atime) при каждом чтении файла. Включено по умолчанию на Linux до v.2.6.29 включительно.
noatime Отключает запись информации о последнем времени доступа (atime) при каждом чтении файла.
relatime Включает запись информации о последнем времени доступа при чтении файла, если предыдущее время доступа (atime) меньше времени изменения файла (ctime). Включено по умолчанию на Linux начиная с v.2.6.30.
acl Включить обработку ACL для раздела

dump

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

pass

Используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Возможные значения: , 1 или 2

Значение 1 следует указывать только для корневой файловой системы (с точкой монтирования ); для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет.Обратите внимание, что в случае btrfs следует всегда указывать , даже если эта файловая система используется в качестве корневой. Файловые системы, для которых в поле указано значение , не будут проверяться fsck.

Пример файла fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=7211313d-8b5e-4b96-be63-5dbbeb97f590 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda2 during installation
UUID=8ef72438-830b-485f-8de5-b0f6242eff91 none            swap    sw              0       0
# Windows disc (FAT32) C:\
/dev/sda3 /media/D642D91542D8FAE7 vfat shortname=mixed,codepage=850,umask=002,uid=1000,gid=100,noauto,user 0 0
# Windows disc (NTFS) D:\
/dev/sda4 /media/BA1AF3B41AF36C2F ntfs-3g rw,nosuid,nodev,allow_other,default_permissions,blksize=4096 0 0
#/dev/sdb1
UUID=54AE4096AE407292           /mnt/backup     ntfs-3g         defaults,windows_names,locale=en_US.utf8 0 0

Строки файла содержат следующие поля:

  • Что монтируем — некоторое блочное устройство, которое должно быть примонтировано
  • Куда монтируем — точка монтирования — путь в корневой файловой системе к каталогу в который будет смонтировано устройство
  • Тип файловой системы монтируемого раздела
  • Опции монтирования файловой системы
  • Индикатор необходимости делать резервную копию (как правило не используется и равно 0)
  • Порядок проверки раздела (0- не проверять, 1 — устанавливается для корня, 2 — для остальных разделов).

Поля в файле fstab отделяются друг от друга пробелами или знаками табуляция (произвольным количеством — любой набор пробелов и табуляций считается просто разделителем между двумя полями). Значения в списке опций разделяются запятыми без пробелов. Если опций нет, то указывается специальная опция defaults (указывать defaults вместе с другими опциями не нужно). Строки, начинающиеся с символа #, являются комментариями. Пустые строки игнорируются. В конце файла требуется одна пустая строка.

Блочное устройство

То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda (диск целиком) или /dev/hdc1 (раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится.

Узнать UUID раздела можно из вывода команды

blkid

Кроме UUID монтировать можно еще и по другим адресам устройств, вот они:

ls -Rhal /dev/disk/by-*

Эти адреса являются ссылками на те же /dev/sd*.

Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из (название), для iSCSI-тома — (используется сетевой адрес и название «цели»).

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

Каталог, в который монтируется файловая система, к примеру /media/disc. Крайне желательно, чтобы он был пустым. Монтировать в непустой каталог тоже можно, но при этом вы заблокируете доступ ко всему содержимому каталога, ведь после монтирование содержимым каталога будет содержимое той файловой системы что была смонтирована.

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

Обычно что-то из следующего:

  • ext4
  • swap (раздел подкачки)
  • btrfs (B-tree file system),
  • xfs

  • jfs
  • ext3
  • ext2
  • hfsplus (Apple HFS)
  • ntfs-3g (Microsoft NTFS)
  • vfat (Microsoft FAT16, FAT32)
  • iso9660 (CD/DVD диски)
  • udf (съёмные носители).

Примеры монтирования разделов рассмотрены в соответствующей статье

UUID vs /dev/sdaX[править]

Диск используемый в примере

  • 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
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=utf-8,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=utf-8,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

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

Первый способ:

su-
blkid

Второй способ:

ls -l /dev/disk/by-uuid/

Третий способ:

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

Identifying file systems

There are different ways to identify file systems that will be mounted in : 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 file systems using all the mount methods available via examples. The output of the commands and used in the following examples are available in the article Persistent block device naming.

To use , use in the first column.

Kernel name descriptors

Run to list the partitions and prefix the values in the NAME column with .

/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
/dev/sda1         /boot        vfat          defaults         0      2
/dev/sda2         /            ext4          defaults         0      1
/dev/sda3         /home        ext4          defaults         0      2
/dev/sda4         none         swap          defaults         0      0

Warning: Kernel name descriptors are not persistent and can change each boot, they should not be used in configuration files.

File system labels

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

/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
LABEL=ESP         /boot        vfat          defaults         0      2
LABEL=System      /            ext4          defaults         0      1
LABEL=Data        /home        ext4          defaults         0      2
LABEL=Swap        none         swap          defaults         0      0

Note: If any of your fields contains spaces, see .

File system UUIDs

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

/etc/fstab
# <device>                                <dir> <type> <options> <dump> <fsck>
UUID=CBB6-24F2                            /boot vfat   defaults  0      2
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0

GPT partition labels

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

/etc/fstab
# <device>                           <dir> <type> <options> <dump> <fsck>
PARTLABEL=EFI\040system\040partition /boot vfat   defaults  0      2
PARTLABEL=GNU/Linux                  /     ext4   defaults  0      1
PARTLABEL=Home                       /home ext4   defaults  0      2
PARTLABEL=Swap                       none  swap   defaults  0      0

Note: If any of your fields contains spaces, see .

GPT partition UUIDs

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

/etc/fstab
# <device>                                    <dir> <type> <options> <dump> <fsck>
PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   defaults  0      2
PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   defaults  0      1
PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   defaults  0      2
PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults  0      0

Mount filesystem (Start systemd service)

We are all set here. Next verify the status of this new mount service

# systemctl show -p ActiveState -p SubState --value tmp_dir.mount
inactive
dead

Since the service is in-active state which means our filesystem is not mounted currently. So we will start our systemd service.

# systemctl start tmp_dir.mount

Next verify the filesystem, as expected we could mount filesystem without fstab under

# df -h /tmp_dir/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       976M  2.6M  907M   1% /tmp_dir

Also as you see now our service is active

# systemctl show -p ActiveState -p SubState --value tmp_dir.mount
active
mounted

# systemctl status tmp_dir.mount
● tmp_dir.mount - Test Directory (/tmp_dir)
   Loaded: loaded (/usr/lib/systemd/system/tmp_dir.mount; enabled; vendor preset: disabled)
   Active: active (mounted) since Mon 2019-09-16 19:01:09 IST; 10s ago
    Where: /tmp_dir
     What: /dev/sdb1
    Tasks: 0 (limit: 11517)
   Memory: 56.0K
   CGroup: /system.slice/tmp_dir.mount

Sep 16 19:01:09 rhel-8.example systemd: Mounting Test Directory (/tmp_dir)...
Sep 16 19:01:09 rhel-8.example systemd: Mounted Test Directory (/tmp_dir).

But our service is in disabled state which means post reboot, will not be mounted by default

# systemctl is-enabled tmp_dir.mount
disabled

To prove this theory I will reboot my node. Post reboot as you see is not mounted

# df -h /tmp_dir/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   15G  2.1G   12G  16% /
# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               900M     0  900M   0% /dev
tmpfs                  915M     0  915M   0% /dev/shm
tmpfs                  915M  8.5M  907M   1% /run
tmpfs                  915M     0  915M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   15G  2.1G   12G  16% /
/dev/sda1              483M  258M  225M  54% /boot
tmpfs                  183M     0  183M   0% /run/user/0

Also the mount service is inactive

# systemctl show -p ActiveState -p SubState --value tmp_dir.mount
inactive
dead

So first let us enable the service so this filesystem can be mounted post reboot (persistent)

# systemctl enable tmp_dir.mount
Created symlink /etc/systemd/system/multi-user.target.wants/tmp_dir.mount → /usr/lib/systemd/system/tmp_dir.mount.

Verify the status

# systemctl is-enabled tmp_dir.mount
enabled

Next I will reboot the node again, post reboot as you see now systemd shows in the list of mounted filesystem so we were able to mount filesystem without fstab

# systemctl -t mount
UNIT                    LOAD   ACTIVE SUB     DESCRIPTION
-.mount                 loaded active mounted Root Mount
boot.mount              loaded active mounted /boot
dev-hugepages.mount     loaded active mounted Huge Pages File System
dev-mqueue.mount        loaded active mounted POSIX Message Queue File System
run-user-0.mount        loaded active mounted /run/user/0
sys-kernel-config.mount loaded active mounted Kernel Configuration File System
sys-kernel-debug.mount  loaded active mounted Kernel Debug File System
tmp_dir.mount           loaded active mounted Test Directory (/tmp_dir)

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

8 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Verify the output, as expected our is in use by

# df -h /tmp_dir
Filesystem             Size  Used Avail Use% Mounted on
/dev/sdb1              976M  2.6M  907M   1% /tmp_dir

I will continue to this article with steps to auto-mount or auto-un-mount filesystem using systemd and steps to mount file system in a certain order (sequentially if required) using systemd and /etc/fstab with examples.

Lastly I hope the steps from the article to mount filesystem without fstab and using systemd unit files on Linux was helpful. So, let me know your suggestions and feedback using the comment section.

Структура fstab

Каждая строка содержит настройки, необходимые для установки одного раздела, диска или сетевого ресурса.Строка имеет шесть столбцов, разделенных пробелами или символами табуляции.

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

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

 </etc/fstab>	
  
  # <file system>                                    <dir>   <type> <options>                                                         <dump> <pass>
    UUID="339df6e7-91a8-4cf9-a43f-7f7b3db533c6"       /       ext4   defaults                                                            0      1  

Или для меток(Label):

 </etc/fstab>	
  
  # <file system>                                    <dir>   <type> <options>                                                         <dump> <pass>
    LABEL="Gentoo"                                     /      ext4   defaults                                                            0     1   
  • Поле , определяет путь, по которому будет смонтирована , точка монтирования.
  • Поле <type>, тип файловой системы. Поддерживается множество типов: ext2, ext3, ext4, btrfs, ReiserFS, XFS, JFS, smbfs, iso9660, vfat, NTFS, swap и auto. При выборе команда попытается определить реальный тип файловой системы самостоятельно.
  • Поле , параметры монтирования файловой системы, в том числе если файловая система должна быть установлена ​​при загрузке.

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

auto Файловая система монтируется при загрузке автоматически или после выполнения команды ‘mount -a’.
noauto Файловая система может быть смонтирована только вручную.
exec Позволяет исполнять бинарные файлы на разделе диска. Установлено по умолчанию.
noexec Бинарные файлы не выполняются. Использование опции на корневой системе приведёт к её неработоспособности.
ro Монтирует файловую систему только для чтения.
rw Монтирует файловую систему для чтения/записи.
sync Все операции ввода-вывода должны выполняться синхронно.
async Все операции ввода-вывода должны выполняться асинхронно.
user Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены.
nouser Только суперпользователь может монтировать файловую систему. Используется по умолчанию.
defaults Использовать значения по умолчанию. Соответствует набору rw, suid, dev, exec, auto, nouser, async.
suid Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи.
nosuid Запрещает операции с suid и sgid битами.
nodev Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевая директория команды chroot всегда должны монтироваться с опцией dev или defaults.
atime Включает запись информации о последнем времени доступа (atime) при каждом чтении файла. Включено по умолчанию на Linux до v.2.6.29 включительно.
noatime Отключает запись информации о последнем времени доступа (atime) при каждом чтении файла.
relatime Включает запись информации о последнем времени доступа при чтении файла, если предыдущее время доступа (atime) меньше времени изменения файла (ctime). Включено по умолчанию на Linux начиная с v.2.6.30.
notail Отключает «упаковку хвостов файлов». Опция работает только с файловой системой ReiserFS.

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

  • Поле <dump>, используется утилитой dump для определения того, нужно ли создать резервную копию(провести архивацию) данных в файловой системе. Возможные значения: 0 или 1. Если указано число 1, dump создаст резервную копию, если указано число 0 то функция отключается.
  • Поле <pass>, используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Возможные значения: 0, 1 или 2. Значение 1 следует указывать только для корневой файловой системы (с точкой монтирования /); для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет.В файловых системах, для которых в поле указано значение 0, будет отключена проверка целостности для этого раздела в целом.

Опции fstab

Опция Зна­че­ние
exec Раз­ре­ша­ет запус­кать испол­ня­е­мые файлы.
noexec Запре­ща­ет запус­кать испол­ня­е­мые файлы.
auto Авто­ма­ти­че­ское мон­ти­ро­ва­ние раз­де­ла устрой­ства при стар­те системы.
noauto Запре­тить авто­ма­ти­че­ское мон­ти­ро­ва­ние раз­де­ла устрой­ства при стар­те системы.
rw Раз­ре­шить чтение/запись.
ro Раз­ре­шить толь­ко чтение.
nouser Не раз­ре­шать обыч­ным поль­зо­ва­те­лям выпол­нять монтирование/демонтирование устройств.
user Раз­ре­шить обыч­ным поль­зо­ва­те­лям выпол­нять монтирование/демонтирование устройств.
sw (swap) Раз­ре­шить под­кач­ку для раздела.
async Вклю­чить асин­хрон­ный ввод/вывод. При этом дей­ствия с раз­де­лом (копи­ро­ва­ние, уда­ле­ние и т. д.) будут про­ис­хо­дить не сра­зу по коман­де, а в опре­де­лён­ное вре­мя, чуть поз­же, по усмот­ре­нию систе­мы. Дан­ная опция исполь­зу­ет­ся для оптимизации/распределения нагрузки.
sync Вклю­чить син­хрон­ный ввод/вывод.
suid Раз­ре­шить рабо­ту SUID и SGID битов.
nosuid Запре­тить  рабо­ту SUID и SGID битов.

iocharset=utf-8

codepage=866

Вклю­чить под­держ­ку коди­ров­ки KOI8-R для назва­ний фай­лов и каталогов.
errors=remount-ro При воз­ник­но­ве­нии оши­бок выпол­нять пере­мон­ти­ро­ва­ние с опци­ей ro.
notail Запре­тить хра­нить неболь­шие по объ­ё­му фай­лы в кон­це боль­ших. Исполь­зу­ет­ся для повы­ше­ния производительности.
atime Выпол­нять запись вре­ме­ни послед­не­го досту­па к файлу.
noatime Отклю­чить запись вре­ме­ни послед­не­го досту­па к фай­лу. Не реко­мен­ду­ет­ся исполь­зо­вать, посколь­ку мно­гим при­ло­же­ни­ям для кор­рект­ной рабо­ты эти дан­ные необ­хо­ди­мы. Сле­ду­ет исполь­зо­вать эту опцию толь­ко для раз­де­лов, для кото­рых не преду­смат­ри­ва­ет­ся про­вер­ка вре­ме­ни послед­не­го досту­па к фай­лам и необ­хо­ди­мо суще­ствен­но уве­ли­чить про­из­во­ди­тель­ность рабо­ты с диском.
relatime Вклю­чить «лояль­ный» режим запи­си вре­ме­ни послед­не­го досту­па к фай­лу. Запись будет про­из­во­дить­ся толь­ко если преды­ду­щее вре­мя досту­па явля­ет­ся более ран­ним, чем теку­щее вре­мя изме­не­ния файла.
defaults Вклю­чить все опти­маль­ные пара­мет­ры по-умол­ча­нию: exec, auto, rw, nouser, async, nosuid, atime.

Так­же сле­ду­ет подроб­нее рас­смот­реть типы ФС, исполь­зу­е­мых при мон­ти­ро­ва­нии. Нуж­но пред­став­лять, для каких типов устройств мож­но исполь­зо­вать тот или тип ФС. Например:
Жест­кие диски:

  • NTFS;
  • XFS;
  • FAT32;
  • VFAT;
  • EXT2/EXT3/EXT4.

При­во­ды CD/DVD:

  • UDF;
  • ISO9669
  • auto – может рас­по­зна­вать­ся автоматически.

Нако­пи­тель USB-Flash:

  • VFAT;
  • FAT32;
  • NTFS;
  • auto.

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

Description¶

A unit configuration file whose name ends in
«» encodes information about a file system
mount point controlled and supervised by systemd.

This man page lists the configuration options specific to
this unit type. See

for the common options of all unit configuration files. The common
configuration items are configured in the generic and
sections. The mount specific configuration options are
configured in the section.

Additional options are listed in
,
which define the execution environment the
mount(8)
program is executed in, and in
,
which define the way the processes are terminated, and in
,
which configure resource control settings for the processes of the
service.

Note that the options and
are not useful for mount units.
systemd passes two parameters to
mount(8);
the values of and .
When invoked in this way,
mount(8)
does not read any options from , and
must be run as UID 0.

Mount units must be named after the mount point directories they control. Example: the mount point must be configured in a unit file .
For details about the escaping logic used to convert a file system path to a unit name, see
. Note that mount
units cannot be templated, nor is possible to add multiple names to a mount unit by creating additional symlinks to
it.

Optionally, a mount unit may be accompanied by an automount
unit, to allow on-demand or parallelized mounting. See
.

Mount points created at runtime (independently of unit files
or ) will be monitored by systemd
and appear like any other mount unit in systemd. See
description in
proc(5).

Some file systems have special semantics as API file systems
for kernel-to-userspace and userspace-to-userspace interfaces. Some
of them may not be changed via mount units, and cannot be
disabled. For a longer discussion see API
File Systems.

Маленький итог:

В данной статье я постарался, как можно прозрачней описать процесс запуска операционных систем UNIX, в том виде, в каком я его понял. Некоторые пособия/статьи разделяют загрузку на большее количество этапов. Я постарался изложить так, чтобы прочитав статью, можно было понять процесс загрузки UNIX не вчитываясь в кучу других материалов. Конечно, никто не запрещает углубиться в изучение процесса загрузки ОС, благо в интернете их достаточно. Жду комментариев и дополнений.

Что еще почитать:

upd 2011.01.21: переработано и дополнено описание upd 2011.06.10: дополнено описание upd 2011.06.12: переработка и дополнение всех этапов загрузки, добавление процесса загрузки upstart и ОС BSD.upd 2011.06.27: Дополнение .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: