Contents
- Introduction to fstab
-
Fstab File Configuration
- Device
- Mount point
- File System Type
- Options
- Dump
- Pass (fsck order)
-
Examples
-
File System Specific Examples
- Extended file systems (ext)
- File Allocation Table (FAT)
- New Technology File System (NTFS)
- Hierarchical File System (HFS)
-
File System Specific Examples
-
Editing fstab
- Useful Commands
- Other Resources
Introduction to fstab
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.
For usage with network shares, see SettingUpNFSHowTo , SettingUpSamba and SSHFS.
Fstab File Configuration
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
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
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
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
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
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
Но нам ничего не мешает самим создать такой файл точки монтирования. Это очень просто, давайте рассмотрим синтаксис:
[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 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
- Просматриваем все доступные разделы:
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
- Просматриваем присвоенные 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″
- Открываем файл fstab для редактирования:
sudo nano /etc/fstab
- Добавляем строчку к концу файла 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
- Последнюю строку к концу файла 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
Была ли полезна вам эта инструкция?
Да Нет