Команды mount & umount: что о них нужно знать

Для монтирования/размонтирования файловой системы в Linux используются команды mount/umount.
Синтаксис команды mount
mount [-lhV] mount -a [-fFnrsvw] [-t vfstype] [-O optlist] mount [-fnrsvw] [-o option[,option]...] device|dir mount [-fnrsvw] [-t vfstype] [-o options] device|dirCинтаксис команды umount
umount [-hV] umount -a [-dflnrv] [-t vfstype] [-O options] umount [-dflnrv] {dir|device}...Описание mount
Все файлы в Linux объединены в файловую систему. Эти файлы могут быть распределены по разным носителям (виртуальным, физическим или сетевым). Команда mount монтирует устройство и позволяет присоединить хранящиеся на нем файлы к общему дереву каталогов.
Обычно команда mount пишется так
mount [device_name] [mount_point]Либо указываем тип файловой системы
mount -t type_fs device dirтаким образом мы сообщаем ядру, что нужно присоединить файловую систему устройства (указываем ее тип вместо type) к каталогу dir.
Если нам известен только каталог или устройство, например
mount /dirmount ищет запись точки монтирования в файле /etc/fstab и пытается ее смонтировать.
Описание umount
Эта команда отделяет файловую систему устройства от общей файловой системы. Размонтирование невозможно в том случае, если файловая система носителя занята, например, когда запущен какой-то процесс, используется файл подкачки или вы находитесь в текущей момент в точке монтирования этой же файловой системы.
Файлы /etc/fstab и /etc/mtab
Команда
umount -a [-t type] [-O optlist]указывает на то, что все файловые системы, упомянутые в fstab (cоответсвующего типа/параметров) должны быть размонтированы и остановлены (кроме тех, для которых указана опция noauto).
При монтировании файловой системы, упомянутой в fstab и mtab, необходимо указать только устройство или точку монтирования. Смонтированные файловые системы хранятся в файле etc /mtab.
Не root`ом единым
Как правило, только суперпользователь имеет право монтировать файловую систему. Однако, когда строка содержит слово user, монтированием может заняться и обычный пользователь.
Пропишем вот такую команду
/dev/cdrom /cd iso9660 ro,user,noauto,unhideкаждый пользователь может смонтировать файловую систему iso9660 на CD-ROM, используя команду
mount /dev/cdromили
mount /cdBind
Команда bind позволяет смонтировать часть файловой системы в другой каталог, причем исходная точка монтирования не удаляется.
Синтаксис этой команды
mount --bind olddir newdirлибо используем ключ
mount -B olddir newdirПосле введения этой команды содержимое каталога olddir будет доступно в обоих каталогах. Таким образом можно смонтировать и отдельные файлы:
mount --bind foo fooПеремещение смонтированной файловой системы
В Linux есть возможность автоматически перемещать смонтированный файлы. Это делается командой
mount --move olddir newdirили
mount -M olddir newdirтеперь содержимое каталога olddir появится и в newdir. Точкой монтирования будет каталог olddir.
Основные ключи
-a — монтирование всех файловых систем, которые упоминаются в файле /etc/tab (кроме тех, которые отмечены как «noauto» или смонтированы ранее);
-d – все, кроме собственно системного вызова mount. При добавлении ключа –v система пытается выяснить, что же на самом деле пытается сделать mount;
-f – монтирование поврежденного раздела, что небезопасно/отмена записи всех вопросов в случае, если монтирование осуществляется в режиме чтения;
-n – монтирование файлов, не упомянутых в /etc/mtab;
-r – монтирование файловой системы в режиме «только для чтения»;
-w, —rw – монтирование файловой системы по умолчанию в режиме чтения/записи.
Для размонтирования достаточно указать точку монтирования, имя устройства и опцию –a/-A. Для форсированного размонтирования системы нужно ввести ключ –f. Однако, делать это не рекомендуется, поскольку так можно повредить данные в файловой системе и нарушить работу ОС.
Как монтировать/размонтировать файловую систему – рассказываем и демонстрируем на практике в рамках нашего авторского курса «Linux. Базовый уровень»!