Автоматическое монтирование дисков и разделов в Linux

Материал из Мои заметки
Перейти к: навигация, поиск

Что такое /etc/fstab и зачем он нужен[править]

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

Содержимое /etc/fstab[править]

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

cat /etc/fstab

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

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/apg1-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=faac2abe-3951-44d9-99a5-97c826ceffde /boot           reiserfs notail          0       2
/dev/mapper/apg1-home /home           ext4    defaults        0       2
/dev/mapper/apg1-swap none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

вот ещё один пример fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=c743ab83-08ca-41eb-ae3c-ab51146218fa /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda7 during installation
UUID=705ea5c3-6371-4c0a-adbe-9753ae670cf5 /home           ext4    defaults        0       2
# /windows/c was on /dev/sda2 during installation
UUID=46DEFA9BDEFA828B /windows/c      ntfs    defaults,umask=007,gid=46 0       0
# /windows/d was on /dev/sda3 during installation
UUID=C7D1-C0CB  /windows/d      vfat    utf8,umask=007,gid=46 0       1
# /windows/loader was on /dev/sda1 during installation
UUID=263CB5953CB5608B /windows/loader ntfs    defaults,ro,umask=007,gid=46 0       0
# swap was on /dev/sda6 during installation
UUID=12b27dc7-d288-4cc8-9a4a-a207b98d76e6 none            swap    sw              0       0
#/dev/mapper/cryptswap1 none swap sw 0 0

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

UUID=faac2abe-3951-44d9-99a5-97c826ceffde /boot           reiserfs notail          0  </span>     2   

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

2. /boot - точка монтирования — это директория, где нужно искать данное устройство.

3. raserfs - типы файловых систем, может принимать значения:

  1. Жесткий диск:
    1. ext2, ext3, ext4;
    2. raserfs;
    3. xfs;
    4. ntfs (возможно ntfs-3g);
    5. fat32;
    6. vfat (это fat16).
  2. USB-накопитель:
    1. auto (автоматическое распознавание файловой системы);
    2. ntfs (возможно ntfs-3g);
    3. fat32;
    4. vfat (это fat16).
  3. CD/DVD-привод:
    1. auto (автоматическое распознавание файловой системы);
    2. iso9660,udf.
    3. Floppy-привод:
    4. auto (автоматическое распознавание файловой системы);
    5. vfat (это fat16);
    6. fat32;
    7. ext2, ext3, ext4.

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

Параметр Действие Значение по умолчанию
1 exec Разрешить запуск исполняемых файлов включен
noexec Запретить запуск исполняемых файлов -
2 auto Раздел будет автоматически монтироваться при загрузке операционной системы включен
noauto Раздел не будет автоматически монтироваться при загрузке операционной системы -
3 rw Выставить права доступа на чтение и запись включен
ro Выставить права доступа только на чтение -
4 nouser Запретить простым пользователям монтировать/демонтировать устройство включен
user Разрешить простым пользователям монтировать/демонтировать устройство -
5 users Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev). -
6 sw или swap Специальный параметр SWAP области -
7 async Включение опции асинхронного ввода/вывода. Любая операция (копирование файла, удаление и т.д.) будет происходить немного позже, чем дана команда. Помогает в распределении нагрузки ОС, последняя сама выбирает подходящее время включен
sync Включение опции синхронного ввода/вывода. Любая операция происходит синхронно с командой -
8 suid Разрешить работу SUID и SGID битов. Бит SUID, у исполняемого файла, повышает запустившему пользователю права до владельца этого файла. К примеру, если root создал исполняемый файл с битом SUID, то пользователь, запустивший этот файл, получает на время исполнения файла права суперпользователя. Бит SGID, у исполняемого файла, повышает запустившему пользователю права до группы владельца этого файла -
nosuid Заблокировать работу SUID и SGID битов для устройства включен
9.1 iocharset=koi8-r codepage=866 Добавляет поддержку кодировки koi8-r в названиях файлов и директорий. Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. Применять при необходимости. -
9.2 nls=utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе Microsoft NTFS. При ошибке перемонтировать с параметром только для чтения (ro)
9.3 utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе Microsoft FAT. При ошибке перемонтировать с параметром только для чтения (ro)
10 errors=remount-ro При ошибке перемонтировать с параметром только для чтения (ro)
11 notail Запрещает хранить маленькие файлы в хвостах больших. Увеличивает быстродействие
12 atime Производить запись времени последнего доступа к файлу включен
noatime Отключение записи времени последнего доступа к файлу. Увеличивает быстродействие файловой системы. Эта опция не рекомендуется стандартом POSIX, так как некоторые приложения требуют этой функции (к примеру, почтовые клиенты и программы нотификации о новой почте перестанут правильно работать) -
relatime Включение обновления времени последнего обращения к файлу только в том случае, если предыдущее время доступа было раньше, чем текущее время изменения файла. Это более лояльный подход, чем noatime -
13 defaults Использование всех параметров по-умолчанию: exec, auto, rw, nouser, async, nosuid, atime -
14 umask=007 параметр, который позволяет монтировать разделы с функцией чтение-запись -
15 gid=46 идентификатор группы пользователей, которой позволяется монтировать разделы (посмотри файл /etc/group в нем расписаны все группы). 46 - это системная группа plugdev и пользователи, входящие в данную группу (добавить пользователя в эту группу можно командой: sudo usermod -a -G plugdev andrey) -
16 uid=1000 идентификатор пользователя, которому позволяется монтировать разделы. -

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

7. Черное поле устанавливает порядок проверки раздела на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно. 0 — раздел не проверяется; 1 — раздел проверяется первым; 2 — раздел проверяется вторым и т.д.

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

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

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

sudo fdisk -l

Результат:

Диск /dev/sdc: 1500.3 Гб, 1500301910016 байт
255 головок, 63 секторов/треков, 182401 цилиндров, всего 2930277168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x0004f0ca
Устр-во Загр Начало Конец Блоки Id Система /dev/sdc1 2048 2930288129 1465143041 7 HPFS/NTFS/exFAT

Раздел, который нужно подключить в нашем примере это /dev/sdc1

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

sudo blkid

Результат:

/dev/sda1: LABEL="boot" UUID="faac2abe-3951-44d9-99a5-97c826ceffde" TYPE="reiserfs" 
/dev/sda5: UUID="94ae4544-fb38-4ec8-b119-7ca3cf958d12" TYPE="crypto_LUKS" 
/dev/sdb1: LABEL="storage" UUID="ba141535-e99f-4e67-b795-6c8d0f50c7d8" TYPE="ext4" 
/dev/sdc1: LABEL="GAP1.36" UUID="3CC227CD5834902D" TYPE="ntfs" 
/dev/mapper/sda5_crypt: UUID="a6dBpr-bU65-EUWP-lLrN-kUqv-A12o-D52kgn" TYPE="LVM2_member" 
/dev/mapper/apg1-root: LABEL="root" UUID="3b205f1e-e5fe-47ac-a5b4-3d7df728c28e" TYPE="ext4" 
/dev/mapper/apg1-home: LABEL="home" UUID="3ca6ae83-e923-4702-ae2a-7c2287ecdf28" TYPE="ext4" 
/dev/mapper/cryptswap1: UUID="33a970c8-18dc-43ce-b394-b680207ed7b6" TYPE="swap" 
/dev/sdd1: LABEL="GAP1-92" UUID="3887-33F7" TYPE="vfat"

Находим нужный UUID. В нашем примере это UUID="3CC227CD5834902D"

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

sudo mcedit /etc/fstab

Добавляем строчку к концу файла fstab. Эта строка формируется из:
1. На первое место ставим UUID требуемого раздела жесткого диска:

UUID=3CC227CD5834902D

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

UUID=3CC227CD5834902D /windows

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

UUID=3CC227CD5834902D /windows ntfs

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

UUID=3CC227CD5834902D /windows ntfs rw,notail,relatime

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

UUID=3CC227CD5834902D /windows ntfs rw,notail,relatime 0

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

UUID=3CC227CD5834902D /windows ntfs rw,notail,relatime 0 0

Также эти параметры можно внести последней строкой к концу файла fstab одной командой :

echo “UUID=3CC227CD5834902D /windows ntfs rw,notail,relatime 0 0” | sudo tee -a /etc/fstab

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

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

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

Remount /etc/fstab без перезагрузки LINUX[править]

Файл конфигурации /etc/fstab содержит необходимую информацию для автоматизации процесса монтажа разделов.

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

Существует простой способ переустановки всех разделов из файла /etc/fstab без перезапуска системы.

Выполните следующую команду:

sudo mount -a

Эта простая команда заставляет все файловые системы, упомянутые в /etc/fstab, перемонтироваться, за исключением разделов с параметром noauto.