- Как монтировать и размонтировать файловые системы в Linux
- Как вывести список подключенных файловых систем
- Монтирование файловой системы
- Монтирование файловой системы с помощью / etc / fstab
- Установка USB-накопителя
- Монтирование файлов ISO
- Монтирование NFS
- Отключение файловой системы
- Ленивое отключение
- Размонтировать принудительно
- Выводы
- Помогите размонтировать сетевой диск недоступного хоста.
- притом , что это ведроидная; зачем auto??
- Монтирование SMB
Как монтировать и размонтировать файловые системы в Linux
В операционных системах Linux и UNIX вы можете использовать команду mount для подключения (монтирования) файловых систем и съемных устройств, таких как флэш-накопители USB, в определенной точке монтирования в дереве каталогов.
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
В этом руководстве мы рассмотрим основы подключения и отключения различных файловых систем с помощью команд mount и umount .
Как вывести список подключенных файловых систем
При использовании без аргументов команда mount отобразит все подключенные в данный момент файловые системы:
По умолчанию вывод будет включать все файловые системы, включая виртуальные, такие как cgroup, sysfs и другие. Каждая строка содержит информацию об имени устройства, каталоге, в который оно смонтировано, типе файловой системы и параметрах монтирования в следующей форме:
Чтобы отобразить только определенные файловые системы, используйте параметр -t .
Например, чтобы распечатать только разделы ext4, которые вы должны использовать:
Монтирование файловой системы
Чтобы смонтировать файловую систему в указанном месте (точке монтирования), используйте команду mount в следующей форме:
После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.
Например, чтобы смонтировать файловую систему /dev/sdb1 каталог /mnt/media вы должны использовать:
Обычно при монтировании устройства с общей файловой системой, такой как ext4 или xfs команда mount автоматически определяет тип файловой системы. Однако некоторые файловые системы не распознаются и требуют явного указания.
Используйте параметр -t чтобы указать тип файловой системы:
Чтобы указать дополнительные параметры монтирования , используйте параметр -o :
Несколько вариантов могут быть представлены в виде списка, разделенного запятыми (не вставляйте пробел после запятой).
Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .
Монтирование файловой системы с помощью / etc / fstab
Предоставляя только один параметр (каталог или устройство) команде mount , она будет читать содержимое файла конфигурации /etc/fstab чтобы проверить, указана ли указанная файловая система в списке или нет.
Если /etc/fstab содержит информацию о данной файловой системе, команда mount использует значение другого параметра и параметры монтирования, указанные в fstab .
Файл /etc/fstab содержит список записей в следующем виде:
Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :
Установка USB-накопителя
В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.
Чтобы вручную подключить USB-устройство, выполните следующие действия:
Создайте точку монтирования:
Предполагая, что USB-накопитель использует устройство /dev/sdd1 вы можете /dev/sdd1 его к каталогу /media/usb , набрав:
Чтобы узнать тип устройства и файловой системы, вы можете использовать любую из следующих команд:
Чтобы смонтировать USB-накопители в формате exFAT, установите бесплатный модуль и инструменты FUSE exFAT .
Монтирование файлов ISO
Вы можете смонтировать файл ISO с помощью устройства loop, которое представляет собой специальное псевдоустройство, которое делает файл доступным как блочное устройство.
Начните с создания точки монтирования, это может быть любое место, которое вы хотите:
Подключите ISO-файл к точке монтирования, введя следующую команду:
Не забудьте заменить /path/to/image.iso путем к вашему файлу ISO.
Монтирование NFS
Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.
Установите клиент NFS в Ubuntu и Debian:
Установите клиент NFS на CentOS и Fedora:
Выполните следующие действия, чтобы смонтировать удаленный каталог NFS в вашей системе:
Создайте каталог, который будет точкой монтирования для удаленной файловой системы:
Как правило, вам нужно автоматически монтировать удаленный общий ресурс NFS при загрузке. Для этого откройте файл /etc/fstab текстовом редакторе :
Добавьте в файл следующую строку, заменив remote.server:/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:
Подключите общий ресурс NFS, выполнив следующую команду:
Отключение файловой системы
Чтобы отсоединить смонтированную файловую систему, используйте команду umount после которой укажите либо каталог, в котором она была смонтирована (точка монтирования), либо имя устройства:
Если файловая система используется, команда umount не сможет отсоединить файловую систему. В таких ситуациях вы можете использовать команду fuser чтобы узнать, какие процессы обращаются к файловой системе:
Как только вы определите процессы, вы можете остановить их и размонтировать файловую систему.
Ленивое отключение
Используйте параметр -l ( —lazy ), чтобы отключить занятую файловую систему, как только она больше не будет занята.
Размонтировать принудительно
Используйте параметр -f ( —force ), чтобы принудительно размонтировать. Этот параметр обычно используется для отключения недоступной системы NFS.
Обычно не рекомендуется принудительное отключение, так как это может повредить данные в файловой системе.
Выводы
К настоящему времени вы должны хорошо понимать, как использовать команду mount для присоединения различных файловых систем к вашему дереву каталогов и отсоединения монтирования с помощью команды umount .
Чтобы узнать больше о параметрах команд mount и umount , см. Соответствующие страницы руководства.
Источник
Помогите размонтировать сетевой диск недоступного хоста.
Пытаюсь написать скрипт для 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 запускается, в чём проблема-то?
Или настрой autofs
Как я понимаю 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
притом , что это ведроидная; зачем auto??
и, сразу три, не его стихия, там надо две и, по прош-ю 35-соро, -ка сек одну; а так 0ver 120sec, это ещё ничего.
Изначально было не авто, диски подключались средствами xbmc но она намертво зависала при длительном отсутствии сервера. Включаешь телик а там зависшая xbmc. Теперь же большую часть времени диски от монтированы, нет дисков нет проблем. Плюс бонусом получил возможность расшарить сетевые диски на всю домашнюю сеть, конечно костыль но учитывая что openvpn у меня за роутером а с маршрутизацией я совсем не дружу то не самый худший вариант.
А вот что дальше написано я к сожалению не понял о чем там речь:(((
Источник
Монтирование SMB
Монтирование SMB не что иное как подключение сетевой папки WIndows в Linux. SMB (Server Message Block) — сетевой протокол удаленного доступа к сетевым ресурсам (файлы, папки, принтеры и т.п.). В первой версии протокола был известен также как CIFS (Common Internet File System). Протоком SMB повсеместно используется во всех ОС Microsoft Windows.
В современных дистрибутивах Linux уже можно совершенной спокойно путешествовать по сетевым дискам. Но куда удобнее если смонтировать сетевой диск сразу в папку, да еще и на рабочем столе, красота. Я создал папку с общим доступом на сервере Hyper-V, её и буду монтировать. Монтирование SMB буду делать под специально заведенным пользователем, дабы не светить пароль админа.
Монтируемая папка
Монтируемая директория доступна только администраторам и пользователю smb (создан специально для монтирования). Сделать общую папку на сервере Windows можно двумя способами: 1 — через свойства папки; 2 — через Powershell. Через свойства папки проще и быстрее как для новичка.
Но в моем случае с сервером HyperV 2019 сработал только второй способ, через Powershell.
Данной командой я сделал общей папку расположенную по пути F:\smb_mount и присвоил ей имя smb_mount. Права на доступ к папке выдал пользователю Administrator и smb.
Общая папка у меня доступна по пути \\hvs19\smb_mount, но монтировать я буду ее по ip адресу. Принципиального вопроса как монтировать нет, просто не всегда есть возможность использовать имя.
С монтируемой папкой закончили, создадим папку куда будем монтировать. Я создал папку в /opt и назвал её F (по имени диска где лежит монтируемая папка) для удобства.
Установим набор утилит для монтирования SMB
Для Ubuntu (и прочих Debian`ов)
Для Centos 8 (и прочих RPM дистрибутивов на YUM)
Монтирование SMB
Все необходимые папки мы создали, теперь приступим к монтированию файловой системы.
Пройдемся по параметрам:
- -t cifs — тип файловой системы cifs (полностью совместим с SMB)
- username — пользователь у которого есть доступ к монтируемой папке (на сетевом диске). Если разрешено, можно использовать гостя, без пароля. В таком случае указываем username=guest
- password — пароль от учетной записи этого пользователя
- //192.168.1.110/smb_mount — общая папка на сервере которую монтируем
- /opt/F — папка куда монтируем.
Посмотрим что все получилось, проверим свободное место в сетевой папке
Можно использовать дополнительные возможности при монтировании, используя ключи после параметра -o. Вот некоторые из них
- rw — запись и чтение
- ro — только чтение
- iocharset=utf8 — в данной кодировке будет выводится информация;
- codepage=cp866 — кодировка используемая на сервере с общей папкой. Обычно Windows устанавливает кодировку cp866.
- vers=3.0 — принудительно указать версию подключения SMB протокола. Для безопасного подключения используйте последнюю версию.
Используя команду mount мы монтируем папку в ручном режиме и после перезагрузки монтирования не произойдет. Для автоматического монтирования папки читаем следующий раздел.
Автоматическое монтирование SMB
Для постоянного монтирования папке при старте системы необходимо внести изменения в файл /etc/fstab. При монтировании сетевого диска с SMB используется пароль. Для большей сохранности не будем указывать его в файле fstab, а сохраним в директории root.
Создадим файл с учетными данными
Добавим в файл строки: имя пользователя, пароль, домен (если используется). У меня домена нет, поэтому добавлю только имя и пароль
Откроем файл /etc/fstab для редактирования
Добавим новую строку в конец файла
Сохраним файл и перезагрузим компьютер. После этого сетевая папка будет монтироваться автоматически.
Разберем указанные параметры
- //192.168.1.110 — ip адрес сервера где находится сетевая папка
- /smb_mount — сетевая папка на указанном выше сервере
- /opt/F — папка на локальном компьютере куда будем монтировать сетевую папку
- cifs — тип монтируемой файловой системы
- user — разрешение монтировать для любого пользователя
- rw — разрешения на чтение/запись на диск при монтировании
- credentials — путь к файлу с данными учетной записи используемых для подключения по SMB
- 0 — не использовать дамп
- 0 — не проверять файловую систему при старте программой fsck
Права на папки и файлы
Примонтированный диск по умолчанию монтируется от root и разрешает запись на диск только под ним. Рассмотрим опции позволяющие изменить доступ на примонтированные папки и файлы. Также рассмотрим настройки по смене владельца смонтированной папки.
- uid — задает владельца каталога. Узнать uid пользователей можно в файле /etc/passwd
- gid — задает группу владельца каталога. Узнать gid групп можно в файле /etc/passwd
- file_mode=0777 — права на доступ к файлам. 0777 — разрешено запись/чтение всем.
- dir_mode=0777 — права на доступ к папкам. 0777 — разрешено запись/чтение всем.
Пример записи в файле /etc/fstab монтирования от моего пользователя (не root) с полным доступом ко всем файлам и папкам
Размонтирование SMB
Размонтировать сетевую папку SMB можно используя команду umount
В параметрах команды umount указываем директорию куда была смонтирована сетевая папка. В моем случае это /opt/F
Если смонтированная файловая система сейчас занята, появится сообщение umount: target is busy . В таком случае размонтировать получиться с ключом -l
Решение проблем монтирования
Если по какой либо причине после ваших попыток папка все же не монтируется, необходимо смотреть системный журнал.
В системном журнале будет указана причина ошибки монтирования. Как пример не верный логин/пароль, не установленные утилиты cifs и т.п.
Источник