При прекращении работы с диском в Linux, чтобы полностью закрыть к нему доступ и избежать повреждения данных при выключении, следует его размонтировать. Для этих целей существует утилита umount, которая запускается через терминал.
В данной статье мы разберемся с ее синтаксисом и опциями. А заодно рассмотрим, как размонтировать диск в Linux. Для удобства все будет описано на конкретных примерах.
Содержание статьи
Синтаксис и опции umount
В отличие от mount, команда umount Linux размонтирует указанный диск. В результате он становится недоступным. Это относится и к любым подключенным устройствам. У команды достаточно понятный синтаксис:
$ umount опции /путь/к/точке/монтирования
$ umount опции название_устройства
Перейдем к списку доступных опций:
- -a, --all – размонтировать все файловые системы, указанные в /proc/self/mountinfo. Исключение составляют roc, devfs, devpts, sysfs, rpc_pipefs и nfsd.
- -A, --all-targets – размонтировать все точки монтирования в текущем пространстве имен для указанной файловой системы.
- -c, --no-canonicalize – не канонизировать пути.
- -d, --detach-loop – освободить петлевое устройство при размонтировании.
- --fake – не выполнять никаких реальных действий, но посмотреть результат выполнения команды.
- -f, --force – принудительно размонтировать, когда диск недоступен.
- -l, --lazy – размонтировать файловую систему, когда она перестанет быть занятой.
- -N, --namespace – размонтировать указанное пространство имен.
- -n, --no-mtab – выполнение операции без записи в /etc/mtab.
- -O, --test-opts – размонтировать только те файловые системы, которые имеют указанный набор опций, записанный в /etc/fstab.
- -q, --quiet – не выводить сообщения с ошибкой not mounted.
- -R, -- recursive – рекурсивное размонтирование.
- -r, --read-only – при появлении ошибки попробовать перемонтировать файловую систему в режиме read only.
- -t, --types – размонтировать файловую систему указанного типа. При необходимости параметры следует разделить запятыми.
- -v, --verbose – подробное протоколирование действий.
- -V, --version – вывести информацию о версии утилиты.
- -h, --help – получить справочную информацию.
Это были основные опции, которые могут пригодиться при выполнении команды umount. А теперь перейдем к практическим примерам ее использования.
Как размонтировать диск в Linux
Для удобства мы разберем четыре популярных сценария, с которыми может столкнуться каждый: размонтировать диск, все подключенные устройства и разделы, конкретный путь и рекурсивное размонтирование.
1. Размонтировать диск
В качестве примера возьмем USB-диск, на который были загружены бэкапы данных. Перед отключением от компьютера его следует размонтировать. Сначала посмотрим полный список доступных дисков:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
USB-диск объемом 500 ГБ маркирован как sdb1. Для его размонтирования следует выполнить команду:
sudo umount /dev/sdb1
В результате диск размонтируется. Вы можете посмотреть, что он пропал из списка доступных устройств в файловом менеджере Linux.
Если диск в настоящий момент занят, то возникнет ошибка. С помощью опции -l его получится размонтировать, когда он освободится:
sudo umount -l /dev/sdb1
Ну а опция -f нужна для принудительного размонтирования. В таком случае все выполняемые операции незамедлительно прервутся, и ждать ничего не придется:
sudo umount -f /dev/sdb1
Если при размонтировании у вас возникает ошибка Device or resource busy, посмотрите в этой статье как её решить.
2. Размонтировать все устройства
Опция -a, которая упоминалась в самом начале списка, отвечает за размонтирование всех смонтированных файловых систем. Но есть несколько разделов с исключениями: roc, devfs, devpts, sysfs, rpc_pipefs и nfsd. Запускать ее нужно с осторожностью, ведь будут размонтированы важные разделы.
Перед выполнением основной команды вы можете посмотреть то, какие устройства будут затронуты. Для этого пригодятся опции --fake (fake-команда) и -v для вывода подробной информации:
sudo umount --fake -v -a
В результате отобразится полный список путей и устройств, которые будут размонтированы. Для полноценного запуска процедуры выполните команду без опций --fake и -v:
sudo umount -a
А если нужно размонтировать все устройства принудительно, то дополнительно понадобится опция -f:
sudo umount -a -f
3. Размонтировать путь
Если вы хотите отключить конкретный путь от корневой файловой системы Linux, то подход будет несколько иной. В качестве примера возьмем каталог, расположенный по пути /run/lock/tmpfs. Команда для размонтирования будет выглядеть следующим образом:
sudo umount /run/lock/tmpfs
Если конкретно сейчас путь занят, то в терминале появится ошибка busy. В таком случае действие можно выполнить принудительно с помощью опции -f. Или дождаться, когда путь освободится с опцией -l.
4. Рекурсивное размонтирование
Для рекурсивного размонтирования определенной директории, например, каталога, к описанной выше команде следует добавить опцию -R или --recursive:
sudo umount -R /run/lock/tmpfs
Но при запуске рекурсивного размонтирования в утилите umount стоит помнить важный нюанс. Выполнение команды будет прервано при возникновении любой ошибки. А отношение между точками монтирования регулируются правилами в документе /proc/self/mountinfo. Если же вы хотите получить дополнительную информацию при рекурсивном размонтировании, то воспользуйтесь опцией -v (Verbose mode):
sudo umount -R -v /run/lock/tmpfs
Выводы
В начале данной статьи мы описали утилиту umount Linux, особенности ее синтаксиса и доступные опции. А затем перешли к конкретным примерам использования, с которыми может столкнуться каждый. По описанным принципам можно понять, как размонтировать диск linux, а также любой раздел или директорию.