Для того чтобы пользователь Linux мог работать с файловой системой, необходимо выполнить одно условие — она должна быть примонтирована к корневой файловой системе. Давайте разберемся в нюансах и узнаем о Монтирование дисков Linux и fstab чуть-чуть побольше. Простой пример: вы вставили Flash-накопитель в соответствующий разъем вашего ПК и вам нужно его открыть что бы произвести какие либо действия с файлами.
Перед этим вы должны его примонтировать, в большинстве дистрибутивов можно примонтировать в графическом режиме одним кликом мыши.
Но все же знать как это работает и иметь навык совершить это без наличия графической среды, желательно.
Итак, монтирование файловой системы выполняется при помощи команды mount, а отмонтировать можно при помощи команды umount. Синтаксис команды такой:
mount [опции] <устройство> <точка монтирования>
Выполнять команду следует с привилегиями пользователя root. Сделать это можно добавив перед командой mount слово sudo.
sudo mount [опции] <устройство> <точка монтирования>
Синтаксис команды umount:
umount <устройство или точка монтирования>
Под точкой монтирования подразумевается каталог в который будет примонтировано устройство. Например: нам надо примонтировать один из разделов жесткого диска sda2 в каталог /mnt/disk2. При указании команды устройством указывать /dev/sda2, а точкой монтирования будет /mnt/disk2. Итак наша команда должна выглядеть так:
sudo mount /dev/sda2 /mnt/disk2
При необходимости можно указать дополнительные опции.
Количество опции довольно обширное, рассмотрим чаще всего используемые опции:
— t : Задает тип файловой системы (ex2,ext3,ext4,iso9660,vfat,ntfs,ntfs-3g и т. д.)
— r : Монтирование файловой системы в режиме «только чтение»
— w: Монтирование файловой системы в режиме «чтение/запись». Используется по умолчанию.
— a : Монтирование всех файловых систем указанных в файле /etc/fstab (кроме тех для которых указано noauto, их следует монтировать в ручную). Автоматически при загрузке системы вызывается команда mount -a.
Так же при помощи команды mount можно монтировать iso образы дисков. Выполнить монтирование можно командой:
mount -o loop /disk/image.iso /mnt/obraz/
Если по каким то причинам монтирование не удается, возможно у вас не подключен модуль loop в ядре. Подключается он так:
sudo modprobe loop
Если вы не хотите каждый раз монтировать разделы в ручную после загрузки, вам нужно прописать данные разделы в файл /etc/fstab. Структура файла такова:
устройство точка_монтирования тип_ФС опции флаг_РК флаг_проверки
Тип_ФС — это тип файловой системы. Флаг_РК — это флаг резервного копирования, возможные значения 1 или 0. Если установлена 1, то программа dump за архивирует данную файловую файловую систему при создании резервной копии, если же установлен 0, то резервная копия создаваться не будет. Флаг_проверки, возможные значения 1 или 0, если установлена 1 то данная файловая система будет проверятся на наличие ошибок программой fsck в случае некорректного размонтирования или же если будет достигнуто максимальное число операций монтирования для этой файловой системы.
Возможные значения для поля опции(приведены наиболее часто используемые):
- auto — файловая система монтирует при загрузке системы, установлена по умолчания, указывать не обязательно.
- noauto — файловая система не монтируется при загрузке системы.
- exec — разрешает запуск выполняемых файлов на этой файловой системе, используется по умолчанию. Указывать не обязательно.
- noexece — Запрещает запуск исполняемых файлов для данной файловой системы
- ro — монтирует файловую систему только для чтения.
- rw — монтирует файловую систему в режиме <чтение/запись>
- user — данную файловую систему разрешается монтировать/размонтировать обычному пользователю (не root)
- nouser — файловую систему может монтировать только root. Установлена по умолчанию.
- umask — определяет маску прав доступа при создании файлов.
- defaults — стандартный набо опций установленных по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async.
- sync/async — Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно.
- errors=remount-ro — При ошибке перемонтировать с параметром только для чтения (ro).
Пример файла /etc/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/sdb1 during installation
UUID=f93578ec-4647-4d45-bbf6-e46646e7bf75 / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb2 during installation
UUID=ac8cf60b-1e73-4aa6-888a-f47a7eb60829 /home ext4 defaults 0 1
/var/lib/tftpboot/linux/Kubuntu-14.04/kubuntu-14.04.1-desktop-amd64.iso /mnt/tmp udf,iso9660 user,loop 0 0
В этом файле, в разделе файловая система(устройство) указаны UUID номера устроств, а не /dev/sda1 например, для чего это сделано?
Казалось бы проще указывать короткие имена и их проще запомнить. Но может случится такая ситуация, у вас 2 жестких диска SATA вы их отсоединили и случайно поменяли местами SATA кабели для каждого из дисков, диск с системой стал sdb, а был sda, ну и диск sdb стал sda соответственно. Тогда при включении система не сможет загрузиться, так как не сможет примонтировать корневой раздел.
Если бы был указан UUID номер, то такой проблемы бы не возникло, система всё равно нашла бы нужный ей раздел и примонтировала бы его.