Команды 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|dir

Cинтаксис команды 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 /dir

mount ищет запись точки монтирования в файле /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 /cd

Bind

Команда 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. Базовый уровень»!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *