Как размонтировать диск в Linux
При прекращении работы с диском в 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. Для его размонтирования следует выполнить команду:
2. Размонтировать все устройства
Опция -a, которая упоминалась в самом начале списка, отвечает за размонтирование всех смонтированных файловых систем. Но есть несколько разделов с исключениями: roc, devfs, devpts, sysfs, rpc_pipefs и nfsd. Запускать ее нужно с осторожностью, ведь будут размонтированы важные разделы.
Перед выполнением основной команды вы можете посмотреть то, какие устройства будут затронуты. Для этого пригодятся опции —fake (fake-команда) и -v для вывода подробной информации:
В результате отобразится полный список путей и устройств, которые будут размонтированы. Для полноценного запуска процедуры выполните команду без опций —fake и -v:
3. Размонтировать путь
Если вы хотите отключить конкретный путь от корневой файловой системы Linux, то подход будет несколько иной. В качестве примера возьмем каталог, расположенный по пути /run/lock/tmpfs. Команда для размонтирования будет выглядеть следующим образом:
Для рекурсивного размонтирования определенной директории, например, каталога, к описанной выше команде следует добавить опцию -R или —recursive:
sudo umount -R /run/lock/tmpfs
Выводы
В начале данной статьи мы описали утилиту umount Linux, особенности ее синтаксиса и доступные опции. А затем перешли к конкретным примерам использования, с которыми может столкнуться каждый. По описанным принципам можно понять, как размонтировать диск linux, а также любой раздел или директорию.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Монтирование и размонтирование сетевого каталога в Linux
Или «ленивое» размонтирование, оно ожидает завершения всех операций с диском, а затем размонтирует каталог, при этом точка монтирования пропадает из списка примонтированных файловых систем /etc/mtab сразу
umount -t cifs -l /DIR/dest
//192.168.10.15/DIR/Source /DIR/dest cifs defaults 0 0
//192.168.10.15/DIR/Source /DIR/dest cifs credentials=/home/.mount_credentials,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
- Настройка сети в Linux
- Настройка и подключение к Linux по SSH с использованием паролей и ключей
- SELinux в Linux
- Настройка Linux в качестве Master Browser
- Монтирование и размонтирование сетевого каталога в Linux
- Создание пользователя с правами sudo в Linux
- LVM в Linux
- LVM увеличение размера раздела за счет размера другого раздела в Linux
- Не отображаются русские буквы в консоли Linux
- Работа с редактором VIM в Linux
- Разрешения и владельцы файлов и каталогов в Linux
- Пользователи и группы в Linux
- Управление пакетами и репозиториями APT, DPKG в Ubuntu
- Управление пакетами и репозиториями YUM, RPM в CentOS
- Firewalld в Linux
- Управление службами через SYSTEMCTL в Linux
- Устройства и виртуальные файловые системы в Linux
- История команд в Linux
- Ссылки в Linux
- Логи в Linux
- Потоки и конвейеры в Linux
- Обработка консольного текстового вывода в Linux
Помогите размонтировать сетевой диск недоступного хоста.
Пытаюсь написать скрипт для openvpn, который должен монтировать сетевые диски при подключении определенных пользователей и размонтировать их при отключении. Основная проблема заключается в том, что openvpn настроен на роботу с пониженными привелегиями. И если с монтированием эта проблема решается добавлением в fstab строчек вида
//10.10.10.10/writeable /disk/network/writeable cifs noauto,_netdev,users,guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,cache=none 0 0
то с размонтированием у меня возникли проблемы. Пока хост доступен umount работает и с правами пользователя. Но мне надо размонтировать диск как раз когда хост не доступен и тут он ругается что хост недоступен и диск не размонтирует. Как я понимаю надо вот так umount -l -f но на это он ругается что только root так может.
хз, посмотри это, вдруг идея возникнет (например, добавить атрибут user помимо users) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662078
А какая система? Версии софта, ядра?
Linux SERVER-2C68EF67A5 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) i686 GNU/Linux
mount.cifs version: 6.4
mount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)
umount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)
А разве user и users это не взаимно исключающие атрибуты. Как я понимаю user разрешает определенному пользователю, а users разрешает всем пользователям. Немного уточню проблему. Как и говорил выше, если хост с сетевым диском доступен, то шара размонтируется без проблем, обычным пользователем, простой командой umount /путь/. Но как только хост с шарой становиться не доступным, ни простой пользователь, ни даже root командой umount, без дополнительных опций, размонтировать шару не может. Что бы размонтировать нужно добавит к umount -l -f и тогда шара будет отмонтирована, но проблема в том что использовать дополнительные опции в umount может только root, а мне надо что бы такие права на определенные шары были у непривилегированного пользователя. В связи с этим возникает вопрос куда и что нужно добавить что бы umount работал с этими опциями от пользователя.
Ну так настрой sudo для этой команды и пользователя из под которого openvpn запускается, в чём проблема-то?
Pinkbyte ★★★★★ ( 16.07.15 10:46:42 MSK )
Последнее исправление: Pinkbyte 16.07.15 10:46:50 MSK (всего исправлений: 1)
Как я понимаю user разрешает определенному пользователю, а users разрешает всем пользователям.
ЕМНИП один из этот атрибутов не_рабочий. Ошибочный. Кажется user разрешает монтирование пользователю. А users попал в некоторые fstab сугубо по недоразумению. Ошибка разработчиков. Либо наоборот.
Как «не очень безопасное, но рабочее решение» можно в sudoers добавить разрешение определенной группе запускать umount с нужными параметрами, но это на свой страх и риск.
autofs и /thread, а что такое — thread или это опечатка тега.
Огромное всем спасибо за подсказки куда копать. Получилось от простого пользователя отмонтировать диски с доп опциями. Правда мне это не особо помогло. т.к. на данную операцию уходит около двух минут и всё это время приложение висит. Плюс проблемы с завершением работы тоже на 2 минуты зависание.
sudo visudo # Редактируем /etc/sudoers и добавляем строчку изменив под себя
you_user_name ALL=NOPASSWD:/bin/umount -f /disk/network/writeable, /bin/umount -f /disk/network/backup
После чего пользователь с именем you_user_name получит права на размонтирования двух дисков вот такой командой
sudo umount -f /disk/network/writeable
sudo umount -f /disk/network/backup
P.S. добавлять пользователя you_user_name в группу sudo не надо и категорически нельзя.
На фоне первого варианта autofs показался куда интересней, хоть он тоже не размонтирует недоступные сетевые диски, но так как большую часть времени они не используются, то получаются почти всегда отмонтированными и вероятность совпадения разрыва связи с сервером и использования в это время диска стремится к 0.
Вот только ругается чего то, вот такими сообщениями
automount[8029]: key «*» not found in map source(s).
Но работает и все диски монтирует.
/disk/network /etc/auto.network —timeout=10 —ghost
/disk/network/wd8000 /etc/auto.wd8000 —timeout=10 —ghost
/disk/network/yandex /etc/auto.webdav —timeout=60 —ghost
writeable -fstype=cifs,guest,rw,iocharset=utf8,file_mode=0666,dir_mode=0777,cache=none ://10.10.10.10/writeable
backup -fstype=cifs,guest,rw,iocharset=utf8,file_mode=0666,dir_mode=0777,cache=none ://10.10.10.18/backup
foto -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/foto
download -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/download
cartoons -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/cartoons
films -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/films
music -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/music
/disk/network/yandex/user1 user1 my_password
/disk/network/yandex/user2 user2 my_password
/disk/network/yandex/user3 user3 my_password