Ubuntu как изменить fstab

Contents

Contents

  1. Introduction to fstab
  2. Fstab File Configuration

    1. Device
    2. Mount point
    3. File System Type
    4. Options
    5. Dump
    6. Pass (fsck order)
  3. Examples

    1. File System Specific Examples

      1. Extended file systems (ext)
      2. File Allocation Table (FAT)
      3. New Technology File System (NTFS)
      4. Hierarchical File System (HFS)
  4. Editing fstab

    1. Useful Commands
  5. Other Resources

Introduction to fstab

IconsPage/hdd.png The configuration file /etc/fstab contains the necessary information to automate the process of mounting partitions. In a nutshell, mounting is the process where a raw (physical) partition is prepared for access and assigned a location on the file system tree (or mount point).

  • In general fstab is used for internal devices, CD/DVD devices, and network shares (samba/nfs/sshfs). Removable devices such as flash drives *can* be added to fstab, but are typically mounted by gnome-volume-manager and are beyond the scope of this document.
  • Options for mount and fstab are similar.
  • Partitions listed in fstab can be configured to automatically mount during the boot process.
  • If a device/partition is not listed in fstab ONLY ROOT may mount the device/partition.
  • Users may mount a device/partition if the device is in fstab with the proper options.

IconsPage/tip.png For usage with network shares, see SettingUpNFSHowTo , SettingUpSamba and SSHFS.

Fstab File Configuration

IconsPage/info.png The syntax of a fstab entry is :

[Device] [Mount Point] [File System Type] [Options] [Dump] [Pass]

fields

description

<device>

The device/partition (by /dev location or UUID) that contain a file system.

<mount point>

The directory on your root file system (aka mount point) from which it will be possible to access the content of the device/partition (note: swap has no mount point). Mount points should not have spaces in the names.

<file system type>

Type of file system (see LinuxFilesystemsExplained).

<options>

Mount options of access to the device/partition (see the man page for mount).

<dump>

Enable or disable backing up of the device/partition (the command dump). This field is usually set to 0, which disables it.

<pass num>

Controls the order in which fsck checks the device/partition for errors at boot time. The root device should be 1. Other partitions should be 2, or 0 to disable checking.

Please refer to the examples section for sample entries. We have provided you some detailed explanations of each field:

Device

By default, Ubuntu now uses UUID to identify partitions.

UUID=xxx.yyy.zzz

To list your devices by UUID use blkid

sudo blkid

Alternative ways to refer to partitions:

  • Label : LABEL=label
  • Network ID
    • Samba : //server/share
    • NFS : server:/share
    • SSHFS : sshfs#user@server:/share
  • Device : /dev/sdxy (not recommended)

Mount point

A mount point is a location on your directory tree to mount the partition. The default location is /media although you may use alternate locations such as /mnt or your home directory.

You may use any name you wish for the mount point, but you must create the mount point before you mount the partition.

For example : /media/windows

sudo mkdir /media/windows

File System Type

You may either use auto or specify a file system. Auto will attempt to automatically detect the file system of the target file system and in general works well. In general auto is used for removable devices and a specific file system or network protocol for network shares.

Examples:

  • auto
  • vfat — used for FAT partitions.
  • ntfs, ntfs-3g — used for ntfs partitions.
  • ext4, ext3, ext2, jfs, reiserfs, etc.
  • udf,iso9660 — for CD/DVD.
  • swap.

Options

Options are dependent on the file system.

You may use «defaults» here and some typical options may include :

  • Ubuntu 8.04 and later uses relatime as default for linux native file systems. You can find a discussion of relatime here : http://lwn.net/Articles/244829. This relates to when and how often the last access time of the current version of a file is updated, i.e. when it was last read.

  • defaults = rw, suid, dev, exec, auto, nouser, and async.
  • ntfs/vfat = permissions are set at the time of mounting the partition with umask, dmask, and fmask and can not be changed with commands such as chown or chmod.
    • I advise dmask=027,fmask=137 (using umask=000 will cause all your files to be executable). More permissive options would be dmask=000,fmask=111.

  • For mounting samba shares you can specify a username and password, or better a credentials file. The credentials file contains should be owned by root.root with permissions = 0400 .

Common options :

  • sync/async — All I/O to the file system should be done (a)synchronously.
  • auto — The filesystem can be mounted automatically (at bootup, or when mount is passed the -a option). This is really unnecessary as this is the default action of mount -a anyway.
  • noauto — The filesystem will NOT be automatically mounted at startup, or when mount passed -a. You must explicitly mount the filesystem.
  • dev/nodev — Interpret/Do not interpret character or block special devices on the file system.
  • exec / noexec — Permit/Prevent the execution of binaries from the filesystem.
  • suid/nosuid — Permit/Block the operation of suid, and sgid bits.
  • ro — Mount read-only.
  • rw — Mount read-write.
  • user — Permit any user to mount the filesystem. This automatically implies noexec, nosuid,nodev unless overridden.
  • nouser — Only permit root to mount the filesystem. This is also a default setting.
  • defaults — Use default settings. Equivalent to rw, suid, dev, exec, auto, nouser, async.
  • _netdev — this is a network device, mount it after bringing up the network. Only valid with fstype nfs.

For specific options with specific file systems see:

  • man mount

Dump

This field sets whether the backup utility dump will backup file system. If set to «0» file system ignored, «1» file system is backed up.

Dump is seldom used and if in doubt use 0.

Pass (fsck order)

Fsck order is to tell fsck what order to check the file systems, if set to «0» file system is ignored.

Often a source of confusion, there are only 3 options :

  • 0 == do not check.
  • 1 == check this partition first.
  • 2 == check this partition(s) next

In practice, use «1» for your root partition, / and 2 for the rest. All partitions marked with a «2» are checked in sequence and you do not need to specify an order.

Use «0» to disable checking the file system at boot or for network shares.

You may also «tune» or set the frequency of file checks (default is every 30 mounts) but in general these checks are designed to maintain the integrity of your file system and thus you should strongly consider keeping the default settings.

Examples

IconsPage/editor.png The contents of the file will look similar to following:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc  /proc  proc  defaults  0  0
# /dev/sda5
UUID=be35a709-c787-4198-a903-d5fdc80ab2f8  /  ext3  relatime,errors=remount-ro  0  1
# /dev/sda6
UUID=cee15eca-5b2e-48ad-9735-eae5ac14bc90  none  swap  sw  0  0

/dev/scd0  /media/cdrom0  udf,iso9660  user,noauto,exec,utf8  0  0

NOTE: These network share examples (samba, nfs, and sshfs) assume you have already set up the appropriate server.

# FAT ~ Linux calls FAT file systems vfat)
# /dev/hda1
UUID=12102C02102CEB83  /media/windows  vfat auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

# NTFS ~ Use ntfs-3g for write access (rw) 
# /dev/hda1
UUID=12102C02102CEB83  /media/windows  ntfs-3g  auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

# Zip Drives ~ Linux recognizes ZIP drives as sdx'''4'''

# Separate Home
# /dev/sda7
UUID=413eee0c-61ff-4cb7-a299-89d12b075093  /home  ext3  nodev,nosuid,relatime  0  2

# Data partition
# /dev/sda8
UUID=3f8c5321-7181-40b3-a867-9c04a6cd5f2f  /media/data  ext3  relatime,noexec  0  2

# Samba
//server/share  /media/samba  cifs  user=user,uid=1000,gid=100  0  0
# "Server" = Samba server (by IP or name if you have an entry for the server in your hosts file
# "share" = name of the shared directory
# "user" = your samba user
# This set up will ask for a password when mounting the samba share. If you do not want to enter a password, use a credentials file.
# replace "user=user" with "credentials=/etc/samba/credentials" In the credentials file put two lines
# username=user
# password=password
# make the file owned by root and ro by root (sudo chown root.root /etc/samba/credentials && sudo chmod 400 /etc/samba/credentials)

# NFS
Server:/share  /media/nfs  nfs  rsize=8192 and wsize=8192,noexec,nosuid
# "Server" = Samba server (by IP or name if you have an entry for the server in your hosts file
# "share" = name of the shared directory

#SSHFS
sshfs#user@server:/share  fuse  user,allow_other  0  0
# "Server" = Samba server (by IP or name if you have an entry for the server in your hosts file
# "share" = name of the shared directory

File System Specific Examples

IconsPage/example.png Here are a couple of basic examples for different file system types. I will use /dev/sdb1 or /dev/hda2 for simplicity, but remember that any /dev location, UUID=<some_id>, or LABEL=<some_label> can work.

Extended file systems (ext)

Specifically, these are the ext2, ext3, and ext4 filesystems that are common as root filesystems in Linux. The main difference between ext2 and ext3 is that ext3 has journaling which helps protect it from errors when the system crashes. The more modern ext4 supports larger volumes along with other improvements, and is backward compatible with ext3.

A root filesystem:

UUID=30fcb748-ad1e-4228-af2f-951e8e7b56df / ext3 defaults,errors=remount-ro,noatime 0 1

A non-root file system, ext2:

/dev/sdb1 /media/disk2 ext2 defaults 0 2

File Allocation Table (FAT)

Specifically, fat16 and fat32, which are common for USB flash drives and flash cards for cameras and other devices.

/dev/hda2 /media/data1 vfat defaults,user,exec,uid=1000,gid=100,umask=000 0 0
/dev/sdb1 /media/data2 vfat defaults,user,dmask=027,fmask=137 0 0

New Technology File System (NTFS)

NTFS is typically used for a Windows partition.

/dev/hda2 /media/windows ntfs-3g defaults,locale=en_US.utf8 0 0

For a list of locales available on your system, run

  •  locale -a

Hierarchical File System (HFS)

HFS, or more commonly, HFS+, are filesystems generally used by Apple computers.

For Read/Write mounting:

/dev/sdb2 /media/Macintosh_HD hfsplus rw,exec,auto,users 0 0

Note: if you want to write data on this partition, you must disable the journalization of this partition with diskutil under Mac OS.

For Read only:

/dev/sda2 /media/Machintosh_HD hfsplus ro,defaults 0 2

Note: if you want to have access to your files on Ubuntu, you must change the permission of the folders and contained files you want to access by doing in the apple terminal:

sudo chmod -R 755 Folder

«Staff» group should have appeared in this folder’s info. You can do this on Music and Movies to access these files from Ubuntu.

Editing fstab

IconsPage/editor.png Please, before you edit system files, make a backup. The -B flag with nano will make a backup automatically.

To edit the file in Ubuntu, run:

gksu gedit /etc/fstab

To edit the file in Kubuntu, run:

kdesu kate /etc/fstab

To edit the file directly in terminal, run:

sudo nano -Bw /etc/fstab
  • -B = Backup origional fstab to /etc/fstab~ .
  • -w = disable wrap of long lines.

Alternate:

sudo -e /etc/fstab

Useful Commands

IconsPage/terminal.png To view the contents of /etc/fstab, run the following terminal command:

cat /etc/fstab

To get a list of all the UUIDs, use one of the following two commands:

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

To list the drives and relevant partitions that are attached to your system, run:

sudo fdisk -l

To mount all file systems in /etc/fstab, run:

sudo mount -a

Remember that the mount point must already exist, otherwise the entry will not mount on the filesystem. To create a new mount point, use root privileges to create the mount point. Here is the generalization and an example:

sudo mkdir /path/to/mountpoint
sudo mkdir /media/disk2

Other Resources

IconsPage/resources.png Here are some more links for your convenience:

  • UsingUUID

  • How to fstab (from the Ubuntu Forums)

  • http://en.wikipedia.org/wiki/Fstab

  • SettingUpNFSHowTo

  • SettingUpSamba

  • LinuxFilesystemsExplained

  • AutomaticallyMountPartitions

  • HowtoPartition

Содержание

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

  • Открыть файл fstab для редактирования, например в текстовом редакторе gedit, вы можете набрав команду в терминале:

sudo gedit /etc/fstab
  • Предварительно рекомендуется создать резервную копию:

sudo cp /etc/fstab /etc/fstab_backup

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

  • Пример файла fstab c примонтированными Windows-дисками sda3 (С:) и sda4 (D:):

# <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, а не пользоваться автоматическим монтированием) удобнее использовать адрес из by-id (название), для iSCSI-тома — by-path (используется сетевой адрес и название «цели»).

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

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

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

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

  • swap (раздел подкачки)

  • btrfs (B-tree file system),

  • jfs

  • ext3

  • ext2

  • hfsplus (Apple HFS)

  • ntfs-3g (Microsoft NTFS)

  • vfat (Microsoft FAT16, FAT32)

  • iso9660 (CD/DVD диски)

  • udf (съёмные носители).

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

Опции файловых систем

(указываются через запятую, без пробелов) :

Опции Описание
Общие Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) — например, опция sync сегодня имеет силу только для ext2, ext3, fat, vfat и ufs
sync / async Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно.
atime Производить запись времени последнего доступа к файлу. Значение по умолчанию.
noatime Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей).
relatime Обновлять время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов)
norelatime Не включать функцию relatime (например, для систем, в которых эта функция включена по умолчанию, для более подробной информации см. параметры монтирования в /proc/mounts).
strictatime Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime.
nostrictatime Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию.
auto / noauto При auto устройство будет устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. Если вы не хотите, чтобы устройство устанавливалось автоматически, используйте параметр noauto.
context=
fscontext=
defcontext=
rootcontext=
Эти опции полезны при монтировании файловой систем, которые не поддерживают дополнительные атрибуты, такие как дискеты или жесткие диски отформатирован в VFAT, или файловые системы, которые обычно не работает под SELinux (например ext3 диск отформатированный на не-SELinux рабочей станции). Вы можете также использовать *context= для файловых систем которым вы не доверяете, например на дискетах или флешках. Более подробно о контексте можно узнать прочитав о SELinux.
defaults Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async.
dev / nodev Интерпретировать/не интерпретировать блок специальных устройств на файловой системе.
diratime / nodiratime Обновлять/не обновлять время доступа к каталогу структуры данных. По умолчанию установлено diratime
dirsync Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename.
exec / noexec exec позволяет выполнять двоичные файлы, которые находятся на этом раздел, в то время как noexec не позволяет этого делать. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела.
group Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid).
encryption Определяет используемый алгоритм шифрования. Используется в сочетании с опцией loop.
keybits Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption.
nofail В случае отсутствия устройства не сообщать об ошибке.
iversion Номер версии структуры данных увеличивается каждый раз, когда структура данных изменяется.
noiversion Номер версии структуры данных не увеличивается при изменении структуры данных.
mand Разрешает принудительное блокирование файловой системы.
nomand Не разрешает принудительное блокирование файловой системы.
_netdev Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети.
suid / nosuid Разрешает использование битовых идентификаторов пользователей или групп / Запрещает использование битовых идентификаторов пользователей или групп. (Это достаточно небезопасно, особенно, если установлен suidperl).
owner Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev).
ro Монтировать только для чтения.
rw Монтирование файловой системы для чтения и записи.
user / nouser user — разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию).
users Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev).

NTFS

Опции для файловой системы Microsoft NTFS
nls=utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе.
codepage=866 Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее.

FAT 32

Опции для файловой системы Microsoft FAT
utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе.
codepage=866 Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Подробнее.

btrfs

Опции для файловой системы btrfs
subvol=subvolume_name Монтирует корень указанного подраздела subvolume_name, где subvolume_name — путь к нему в корне btrfs.
subvolid=subvolume_ID Монтирует корень указанного подраздела subvolume_ID, где subvolume_ID — идентификатор подраздела.
autodefrag Дефрагментация на «лету», не применять для SSD
noacl Отключить контроль доступа к файлам (права)
compression
compress=zlib Включение прозрачного сжатия с алгоритмом gzip (медленнее lzo, но лучше сжимает)
compress=lzo Включает алгоритм прозрачного сжатия lzo (быстрее gzip, немного хуже сжимает) Btrfs LZO Compression Performance.
compress=zstd (>5,14)Включает алгоритм прозрачного сжатия zstd (настраиваемый уровень сжатия) wiki о zstd.
compress=no Без компрессии с версии ядра 3.6
compress-force=… Применяется аналогично compress, опция force позволяет выполнять компрессию файлов, которые обычно имеют низкий коэффициент сжатия (таких, как сжатые аудио или видео форматы).
cache
inode_cache (>3,0) Включить кэширование inode. Эта опция может замедлить работу системы при первом запуске.
space_cache Кэширование данных о свободных блоках, чтобы не искать их перед записью
clear_cache (>2.6.37) Очищает весь кеш свободного места, после монтирования. Это безопасная опция, но вызывает пересоздание кеша.
nospace_cache (>3.2) выключает space_cache
другие
skip_balance (>3.3)Пропускает автоматическую балансировку после монтирования или неправильного выключения.
nodatasum Не высчитывать хэш-сумму, для новых файлов. Некоторый мусор и ошибки могут быть не замечены, но позволяет ускорить работу с FS. На большинстве современных CPU не даст ощутимого прироста к производительности.
SSD
ssd Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей, отключается последовательная запись файлов. Эта опция включается автоматически, если вращение диска = 0. Не влечет за собой включения параметров TRIM/discard.
ssd_spread Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD.
recovery and debug
recovery (>3.2)Включает автовосстановление после монтирования, на данный момент сканирует старые списки корней и деревьев, которые можно прочесть. Информация о корнях деревьев сохраняется с версии ядра > 3.2, старые ядра не смогут использовать режим восстановления. Практика показала что оно работает, но нужно иметь снимки файловой системы и оно просто вытаскивает списки корней и деревьев из снимков если таковые имеются
degraded Используйте это, если у вас есть несколько устройств в объеме Btrfs (одна из RAID конфигураций или несколько дисков в Single или DUP режиме) и одно из них не монтируется. Это позволит вам по-прежнему монтировать файловую систему, даже если неисправное устройство выдаёт ошибки.
enospc_debug Используйте, если столкнулись с ошибкой «Не хватает места»

Актуально для выбора алгоритма сжатия (смотрите как соотносятся реализованные в BTRFS zlib/lzo/zstd)

| Метод   | сжатие| Скорость сжатия MB/s | Скорость разжатия   |
|---------|-------|----------------------|---------------------|
| None    |  0.99 |                  504 |                 686 |
| lzo     |  1.66 |                  398 |                 442 |
| zlib    |  2.58 |                   65 |                 241 |
| zstd:1  |  2.57 |                  260 |                 383 |
| zstd:3  |  2.71 |                  174 |                 408 |
| zstd:6  |  2.87 |                   70 |                 398 |
| zstd:9  |  2.92 |                   43 |                 406 |
| zstd:12 |  2.93 |                   21 |                 408 |
| zstd:15 |  3.01 |                   11 |                 354 |

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

— nefelim4ag 2012/10/19 13:25
Больше параметров тут

Testing Out The Btrfs Mount Options On Linux 3.2

Ссылки

Как вы знаете, во время загрузки операционной системы Linux все используемые разделы собираются в единую корневую файловую систему. Все это выполняется системой инициализации и пользователь даже не замечает переходов между разделами. Например, домашний раздел монтируется в /home, загрузочный в /boot.

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

 Как происходит монтирование?

Файловая система Linux очень сильно отличается от Windows, здесь нет дисков. Есть только корневая файловая система, которая строиться путем монтирования всех нужных разделов в подкаталоги корня.

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

Все эти задачи выполняет система инициализации, независимо от того используете ли вы OpenRC или Systemd. Но сама система инициализации не знает куда монтировать тот или иной раздел. Для получения этой информации она использует конфигурационные файлы.

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

В этой статье мы рассмотрим как настроить автомонтирование разделов fstab, так и новый способ, с помощью systemd.

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

Сначала давайте рассмотрим синтаксис одной строчки fstab:

устройство  точка_монтирования файловая_система опции резерв{0,1} проверка{0,1,2}

Теперь подробнее рассмотрим что означает каждый пункт:

  • Устройство — это раздел диска, который вам нужно примонтировать. Его можно указать в формате файла устройства Linux в каталоге /dev/, например, /dev/sda1 или с помощью уникального идентификатора UUID, тогда формат записи будет таким UUID=»XXXX-XXXX-XXXX-XXXX», также возможна запись с помощью метки, например, LABEL=home;
  • Файловая система указывает в какой файловой системе нужно монтировать это устройство, например, ext4, ext3, ext2, btrfs;
  • Точка монтирования — куда нужно примонтировать это устройство, например, /home, /boot, /mnt;
  • Опции — параметры монтирования файловой системы, рассмотрим подробнее ниже;
  • Проверка — указывает в какой очереди нужно проверять устройство на ошибки, 1 — в первую очередь, 2 — вторую, 0 — не проверять;
  • Резерв — указывает нужно ли делать резервную копию раздела, может принимать значения только 0 и 1.

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

Начнем с общих для всех файловых систем опций:

  • sync — записывать на диск все изменения сразу после того, как они были выполнены, не использовать кэширование для записываемых данных. Может понадобится для извлечения флешки без размонтирования, но сильно снижает производительность;
  • async — использовать кэш при записи данных, увеличивает производительность, используется по умолчанию;
  • atime — сохранять время последнего доступа к файлу;
  • noatime — не сохранять время последнего доступа, полезно для ssd и флешек;
  • relatime — обновлять время доступа только при изменении файла, необходимо для работы многих программ;
  • norelatime — отключить relatime;
  • strictatime — обновлять время доступа всегда, отключает действие предыдущих опций;
  • auto — автоматически монтировать при загрузке, действие по умолчанию;
  • noauto — не монтировать при загрузке;
  • defaults — использовать опции монтирования fstab по умолчанию — rw,suid,dev,exec,auto,nouser,async;
  • dev — интерпретировать блочные устройства;
  • nodev — не интерпретировать блочные устройства;
  • diratime — аналогично atime только для каталогов;
  • dirnoatime — аналогично noatime, для каталогов;
  • exec — разрешить выполнять программы на этом разделе;
  • noexec — запретить выполнять программы на этом разделе;
  • group — разрешить другим пользователям кроме root монтировать этот раздел, если их группа совпадает с указанной, обычно используется вместе с noauto;
  • nofail — не сообщать об ошибках;
  • mand — разрешить блокирование файловой системы, нужно для некоторых антивирусов;
  • nomand — запретить блокирование файловой системы;
  • suid — разрешить выполнение программ с флагом suid от имени другого пользователя;
  • nosuid — игнорировать флаг suid;
  • owner — разрешить указанному пользователю монтировать устройство;
  • ro — монтировать только для чтения;
  • rw — монтировать для чтения и записи;
  • users — разрешить монтирование любому пользователю;
  • umask — установить права доступа к файлам и папкам на этом разделе;
  • uid — задает владельца каталога, по умолчанию root;
  • gid — задает группу владельца каталога.

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

/dev/sda2 / ext4 defaults 0 1

Здесь в качестве корневой файловой системы будет монтироваться раздел /dev/sda2 с файловой системой ext4 и опциями по умолчанию defaults. Резервная копия не используется, и вообще, этот параметр не читается системой инициализации и сейчас нас не интересует. Для домашнего раздела все будет выглядеть очень похоже:

/dev/sda3 /home ext4 defaults,noexec 0 2

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

/dev/sda4 /media/files/ ext4 noauto,users,rw 0 0

Тут мы указываем, что раздел не нужно монтировать во время загрузки, но его могут подключить любые пользователи в режиме для чтения и записи. Ни проверка ни резервная копия не выполняются. Для раздела подкачки файловая система указывается swap, а точка монтирования none:

/dev/sda5 none swap defaults 0 0

Также вы можете примонтировать немножко оперативной памяти:

tmpfs /tmp tmpfs nodev,nosuid,noexec,size=100M 0 0

Таким образом, мы примонтировали оперативную память в /tmp и теперь система будет работать немного быстрее. Вот что получилось:

/dev/sda2 / ext4 defaults 0 1
/dev/sda3 /home ext4 defaults,noexec 0 2
/dev/sda4 /media/files/ ext4 noauto,users,rw 0 0
/dev/sda5 none swap defaults 0 0
tmpfs /tmp tmpfs nodev,nosuid,noexec,size=100M 0 0

А теперь, как я и обещал рассмотрим как выполняется монтирование с помощью systemd.

Автоматическое монтирование в Systemd

Система инициализации Systemd анализирует /etc/fstab при загрузке и автоматически генерирует все нужные файлы юнитов на основе описанных там точек монтирования, а уже потом их загружает.

Вы можете посмотреть все созданные в systemd точки монтирования такой командой:

systemctl -l --type mount

fstab

Но нам ничего не мешает самим создать такой файл точки монтирования. Это очень просто, давайте рассмотрим синтаксис:

[Unit]
Description=описание

[Mount]
What=адрес_раздела
Where=точка монтирования
Type=файловая система
Options=опции монтирования

[Install]
WantedBy=multi-user.target

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

sudo vi /etc/systemd/system/home.mount

[Unit]
Description=Mount System Home Directory

[Mount]
What=/dev/sda3
Where=/home
Type=ext4
Options=defaults,noexec

[Install]
WantedBy=multi-user.target

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

sudo systemctl start home.mount

А чтобы добавить эту точку монтирования в автозагрузку выполните:

sudo systemctl enable home.mount

Вот и все теперь вы знаете не только как выполняется монтирование fstab, но и автоматическое монтирование в systemd.

Выводы

Как видите, редактирование fstab не так уж сложно, как может показаться на первый взгляд. С этим справиться даже новичок в Linux если изучить параметры fstab и синтаксис самого файла. Если у вас остались вопросы, спрашивайте в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

На главную -> MyLDP ->
Тематический каталог ->
Файловые системы Linux


Оригинал: 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:

/dev/hda2   /               ext2  defaults             1 1

/dev/hdb1   /home           ext2  defaults             1 2

/dev/cdrom  /media/cdrom    auto  ro,noauto,user,exec  0 0

/dev/fd0    /media/floppy   auto  rw,noauto,user,sync  0 0

proc        /proc           proc  defaults             0 0

/dev/hda1   swap            swap  pri=42               0 0

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

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

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

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

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

$ mount /dev/fd0/

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

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

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

/dev/hda2   /       ext2   defaults    1 1
/dev/hdb1   /home   ext2   defaults    1 2

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

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

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

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

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 (хотя дискеты в последнее время употребляются все реже).

/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0

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

/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0

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

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

Если вам понравилась статья, поделитесь ею с друзьями:


В результате обычного монтирования командой mount параметры будут сохранены до первой перезагрузки ОС. Подробнее о использовании команды mount можно прочитать статью «Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов». После перезагрузки ОС все эти действия необходимо производить заново. Чтобы монтирование происходило в автоматическом режиме, при каждой загрузке операционной системы, нужно отредактировать конфигурационный файл fstab.

В этой статье подробно рассмотрен вопрос автоматического монтирования разделов жесткого диска и других накопителей при старте операционной системы Линукс.

Что такое /etc/fstab и зачем он нужен?

fstab — это текстовый файл, содержащий список устройств хранения информации и параметры монтирования. Различные накопители, которые необходимо автоматически присоединить во время загрузки операционной системы, по порядку перечисляются в файле fstab. Также в этом файле содержатся информация об устройствах, которые не присоединяются автоматически, но при выполнении монтирования устройства стандартной командой mount происходит присоединение устройства с заданными параметрами Это необходимо, к примеру, для CD/DVD-приводов, которые не примонтированы постоянно, а монтируются при наличии диска в приводе.

Содержимое /etc/fstab

Строки конфигурационного файла fstab

fstab состоит из строк. Каждая строка это устройство. Символ решетки (#) в начале строки, как и во всех Unix системах, обозначает комментарий и поэтому значимой строкой не считается.

Здесь будут рассмотрены только строки файла fstab. Более детально каждую строчку рассмотрим ниже.

Для просмотра файла fstab:

sudo nano /etc/fstab

Пример, как может выглядеть конфигурационный файл fstab:

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

# /dev/sda1
UUID=b60b8731-9ff7-2238f302e592 / reiserfs notail,relatime 0 1

# /dev/sda3
UUID=69af6982-e3c7-99d02fb3a973 /home ext3 relatime 0 2

# /dev/sda2
UUID=b3a38495-55d7-33b9ea8d62ec none swap sw 0 0

/dev/scd1 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/scd0 /media/cdrom1 udf,iso9660 user,noauto,exec,utf8 0 0

/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Белый цвет.

Белым цветом помечен стандартный заголовок файла fstab.

Желтый цвет.

Желтая строка монтирует виртуальную файловую систему procfs к директории /proc. Это стандартная процедура ОС, поэтому лучше ее не трогать.

Синий цвет.

Синяя строка присоединяет корневой раздел с параметрами notail,relatime (значение параметров будет рассмотрено ниже). Это тоже лучше не трогать.

Зеленый цвет.

Зеленая строка монтирует раздел /home с параметром relatime.

Красный цвет.

Красная монтирует SWAP раздел.

Серый цвет.

Серые строки задают параметры user,noauto,exec,utf8 для ручного (параметр noauto) монтирования CD/DVD-приводов.

Черный цвет.

Черные строки задают параметры ручного монтирования floppy-диска.

Столбцы конфигурационного файла fstab

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

UUID=b60b8731-9ff7-2238f302e592 / reiserfs notail,relatime 0 1

Желтое поле.

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

Обозначение раздела жесткого диска в Linux может представляться двумя способами: названием устройства (/dev/sda1, /dev/sdb1 и т.д.) или универсальным идентификатором (UUID). В линуксе эти оба обозначения взаимозаменяемы.

В нашем примере, устройство /dev/sda1 и устройство UUID=b60b8731-9ff7-463f-a32f-2238f302e592 одно и то же. UUID назначается операционной системой автоматически при установке. Предпочтительнее в файле fstab использовать обозначение устройств по UUID, так как при обновлениях операционной системы могут измениться названия устройств (к примеру /dev/sda1 может изменить название на /dev/sdb1).

Просмотреть присвоенные устройству UUID можно командой:

# blkid

Синее поле.

В синем столбике отображены точки монтирования. Точка монтирования — это директория, где нужно искать данное устройство. В нашем примере, чтобы просмотреть содержимое раздела жесткого диска /dev/sda3 нужно открыть директорию /home.

Зеленое поле.

В зеленом столбике описаны типы файловых систем.

Жесткий диск:

  • ext2, ext3, ext4;
  • raserfs;
  • xfs;
  • ntfs (возможно ntfs-3g);
  • fat32;
  • vfat (это fat16).

USB-накопитель:

  • auto (автоматическое распознавание файловой системы);
  • ntfs (возможно ntfs-3g);
  • fat32;
  • vfat (это fat16).

CD/DVD-привод:

  • auto (автоматическое распознавание файловой системы);
  • iso9660,udf.

Floppy-привод:

  • auto (автоматическое распознавание файловой системы);
  • vfat (это fat16);
  • fat32;
  • ext2, ext3, ext4.

Красное поле.

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

Параметр Действие Значение по умолчанию
exec Разрешить запуск исполняемых файлов. включена
noexec Запретить запуск исполняемых файлов
auto Раздел будет автоматически монтироваться при загрузке операционной системы. включена
noauto Раздел не будет автоматически монтироваться при загрузке операционной системы.
rw Выставить права доступа на чтение и запись. включена
ro Выставить права доступа только на чтение.
nouser Запретить простым пользователям монтировать/демонтировать устройство. включена
user Разрешить простым пользователям монтировать/демонтировать устройство.
sw или swap Специальный параметр SWAP области
async Включение опции асинхронного ввода/вывода.
Любая операция (копирование файла, удаление и т.д.) будет происходить немного позже, чем дана команда. Помогает в распределении нагрузки ОС, последняя сама выбирает подходящее время.
включена
sync Включение опции синхронного ввода/вывода.
Любая операция происходит синхронно с командой.
suid Разрешить работу SUID и SGID битов.
Бит SUID, у исполняемого файла, повышает запустившему пользователю права до владельца этого файла.
К примеру, если root создал исполняемый файл с битом SUID, то пользователь, запустивший этот файл, получает на время исполнения файла права суперпользователя.
Бит SGID, у исполняемого файла, повышает запустившему пользователю права до группы владельца этого файла.
nosuid Заблокировать работу SUID и SGID битов для устройства. включена
iocharset=koi8-r codepage=866 Добавляет поддержку кодировки koi8-r в названиях файлов и директорий. Применять при необходимости.
errors=remount-ro При ошибке перемонтировать с параметром только для чтения (ro).
notail Запрещает хранить маленькие файлы в хвостах больших. Увеличивает быстродействие.
atime Производить запись времени последнего доступа к файлу. включена
noatime Отключение записи времени последнего доступа к файлу.
Увеличивает быстродействие файловой системы. Эта опция не рекомендуется стандартом POSIX, так как некоторые приложения требуют этой функции (к примеру, почтовые клиенты и программы нотификации о новой почте перестанут правильно работать).
relatime Включение обновления времени последнего обращения к файлу только в том случае, если предыдущее время доступа было раньше, чем текущее время изменения файла.
Это более лояльный подход, чем noatime.
defaults Использование всех параметров по-умолчанию: exec, auto, rw, nouser, async, nosuid, atime

Серое поле.

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

0 — не выполнять резервное копирование;

1 — выполнять резервное копирование.

Черное поле.

Черное поле устанавливает порядок проверки раздела на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно.

0 — раздел не проверяется;

1 — раздел проверяется первым;

2 — раздел проверяется вторым и т.д.

Примеры использования

Как автоматически подключить раздел NTFS в Linux

  1. Просматриваем все доступные разделы:

    sudo fdisk -l

    Результат:

    user@desktop:~$ sudo fdisk -l
    Диск /dev/sda: 160.0 ГБ, 160041885696 байт
    255 heads, 63 sectors/track, 19457 cylinders
    Units = цилиндры of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x815aa99a

    Устр-во Загр Начало Конец Блоки Id Система
    /dev/sda1* 1 4788 38459578+ 7 HPFS/NTFS
    /dev/sda2 6668 19457 102735675 5 Расширенный
    /dev/sda3 4789 5031 1951897+ 82 Linux своп / Solaris
    /dev/sda4 5032 6667 13141170 83 Linux
    /dev/sda5 6668 19457 102735640 83 Linux

    Пункты таблицы разделов расположены не в дисковом порядке

    Ищем раздел, который нужно подключить. В нашем примере это /dev/sda1

  2. Просматриваем присвоенные UUID устройствам:

    blkid

    Результат:

    user@desktop:~$ blkid
    /dev/sda1: UUID=»D45A39A15A3980F2″ TYPE=»ntfs»
    /dev/sda3: TYPE=»swap» UUID=»cff5bb9f-22d5-44d2-a4e8-30658f83fb4e»
    /dev/sda4: UUID=»03d11ea5-2b80-4a5e-ba09-cd6909425070″ LABEL=»root» TYPE=»reiserfs»
    /dev/sda5: UUID=»503b7434-1ced-495d-a565-a4f02634c748″ TYPE=»ext3″ SEC_TYPE=»ext2″

    Находим нужный UUID. В нашем примере это UUID=»D45A39A15A3980F2″

  3. Открываем файл fstab для редактирования:

    sudo nano /etc/fstab

  4. Добавляем строчку к концу файла fstab. Эта строка формируется из:

    4.1 На первое место ставим UUID требуемого раздела жесткого диска:

    UUID=D45A39A15A3980F2

    4.2 На второе место выбираем и ставим точку монтирования, допустим будет /home/windows:

    UUID=D45A39A15A3980F2 /home/windows

    4.3 Указываем файловую систему NTFS:

    UUID=D45A39A15A3980F2 /home/windows ntfs

    4.4 Далее выбираем из таблицы параметры, с которыми хотим примонтировать раздел:

    UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime

    4.5 Резервное копирование этого раздела программой dump делать нам не нужно, поэтому ставим далее 0:

    UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime 0

    4.6 Проверка раздела на ошибки делать тоже не будем, поэтому тоже 0:

    UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime 0 0

  5. Последнюю строку к концу файла fstab можно добавить руками или командой:

    echo “UUID=D45A39A15A3980F2 /home/Windows ntfs rw,notail,relatime 0 0” | sudo tee -a /etc/fstab

Автоматическое подключение CD/DVD-привода

/dev/cdrom /media/cdrom iso9660,udf ro,noauto,user,exec 0 0

Устройство /dev/cdrom подключается к точке монтирования /media/cdrom. Файловая система iso9660,udf. Подключается с параметрами ro (только чтение), noauto (не подключатся автоматически при старте ОС), user (подключение может осуществить любой пользователь) и exec (разрешить запуск приложение с подключаемого носителя).

Комментарии (55)

Обновлено Обновлено: 09.02.2022
Опубликовано Опубликовано: 16.08.2016

Все настройки показаны на примере системы CentOS и пременимы к любому дистрибутиву Linux.

Монтирование по имени
Монтирование по UUID
Сетевой диск

Монтирование по имени диска

Открываем на редактирование следующий файл:

vi /etc/fstab

и добавляем в него следующую строчку:

/dev/sda1     /db     xfs     defaults     0 0

Где:

  • /dev/sda1 — диск, который мы монтируем
  • /db — каталог, в который монтируем диск
  • xfs — файловая система
  • defaults — стандартные опции. Полный их перечень можно посмотреть на Википеции.
  • 0 0 — первый отключает создание резервных копий при помощи утилиты dump, второй отключает проверку диска.

Теперь создаем каталог, в который монтируем диск (в данном примере, /db):

mkdir /db

И монтируем вручную диск, чтобы проверить правильность настроек fstab:

mount /db

Должен появиться новый диск. Это можно проверить следующей командой

mount

Монтирование по идентификатору

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

И так, смотрим идентификатор диска командой:

blkid

Мы получим ответ на подобие:

/dev/sdb: UUID=»3e53fc7e-a417-4fa5-b034-b227bea2474c» BLOCK_SIZE=»4096″ TYPE=»ext4″
/dev/sda1: UUID=»358f032e-3efb-42ab-b3ba-05ddc82fedfd» BLOCK_SIZE=»512″ TYPE=»xfs» PARTUUID=»0beca126-01″

* допустим, диск который мы хотим примонтировать — sda1. Его идентификатор 358f032e-3efb-42ab-b3ba-05ddc82fedfd.

Открываем на редактирование следующий файл:

vi /etc/fstab

и добавляем в него следующую строчку:

UUID=358f032e-3efb-42ab-b3ba-05ddc82fedfd     /db     xfs     defaults     0 0

Монтирование можно проверить командой:

mount -a

Пример монтирования сетевого диска

//192.168.0.1/network /mnt cifs user,rw,noauto,credentials=/root/.smbclient 0 0

* в данном примере выполняется монтировние общей папки network на сервере с IP-адресом 192.168.0.1 в каталог /mnt. В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, noauto: не монтировать автоматически при старте системы, credentials: файл, в котором написаны логин и пароль для подключения к общей папке.

Теперь создадим файл аутентификации (credentials):

vi /root/.smbclient

и приведем его к следующему виду:

username=backup
password=backup

* username: имя пользоватля, password: пароль. Само собой, в вашем случае указываются свои данные.

Теперь вводим следующую команду:

mount /mnt

Должна примонтироваться сетевая папка //192.168.0.1/network. Это можно проверить следующей командой:

mount

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

Понравилась статья? Поделить с друзьями:
  • Ue4 error 0x887a0006
  • Ubuntu журнал ошибок
  • Ue4 atlas fatal error как исправить
  • Ubuntu выдает ошибку при загрузке
  • Ue4 atlas engine fatal error crash