Как смонтировать и размонтировать устройства хранения с терминала Linux

Фатмавати Ахмад Заенури/Shutterstock.com

Файловые системы в Linux и Unix-подобных операционных системах, таких как macOS, могут быть смонтированы, размонтированы и перемонтированы с помощью терминала. Это мощный и универсальный инструмент — вот все, что вам нужно знать.

Файловая система Linux

Файловые системы в Linux, macOS и других Unix-подобных операционных системах не используют отдельные идентификаторы томов для устройств хранения, как, например, Windows. Windows назначает каждому тому букву диска, такую ​​как C: или D:, а файловая система для каждого тома представляет собой дерево каталогов, расположенное под этой буквой диска.

В Linux файловая система представляет собой дерево каталогов «все в одном». У смонтированного запоминающего устройства его файловая система привита к этому дереву, так что оно кажется неотъемлемой частью единой файловой системы. Вновь смонтированная файловая система будет доступна через каталог, в который она смонтирована. Этот каталог называется точкой монтирования для этой файловой системы.

Многие файловые системы автоматически монтируются во время загрузки или на лету как тома хранения, подключенные к компьютеру во время выполнения. Осторожные системные администраторы могут отключить функции автоматического монтирования во время выполнения, чтобы они могли контролировать соединения с системой.

Это означает, что запоминающие устройства, подключенные во время выполнения, могут не монтироваться автоматически и требуют установки вручную. Монтирование файловой системы вручную позволяет принимать решения об этой файловой системе, например о том, где будет находиться точка монтирования и будет ли файловая система доступна только для чтения или для чтения и записи.

Независимо от необходимости или по выбору, команды mount , umount и remount позволяют вам контролировать этот важный аспект ваша система Linux.

Опрос вашей файловой системы с монтированием

В Mount есть множество опций, но для вывода списка всех смонтированных файловых систем на вашем компьютере вообще не требуется никаких опций. Просто введите mount и нажмите Enter:

mount выведет список всех подключенных файловых систем в окне терминала.

Может быть трудно выбрать этот дамп данных, чтобы найти то, что вы ищете.

Вы можете уточнить вывод, попросив mount перечислить только интересующие вас файловые системы. Опция -t (тип) сообщает mount , какой тип файловой системы следует использовать для создания отчетов.

 mount -t tmpfs 
 mount -t ext4 

В качестве примера мы попросили mount перечислить только файловые системы tmpfs . Мы получаем намного более управляемый результат.

Файловая система tmpfs выглядит так, как будто это обычная монтируемая файловая система, но на самом деле она хранится в энергозависимой памяти — tmp обозначает временное — вместо постоянного хранилища устройство.

Вы хотите заменить параметр tmpfs на тип файла, который вас интересует.

Мы также выпустили команду для перечисления ext4 файловых систем. На этом тестовом компьютере есть одна файловая система ext4 , она находится на устройстве sda — первое устройство хранения, смонтированное, обычно на основном жестком диске, — и смонтированное на /, который является корнем дерева файловой системы.

Другие показатели означают:

  • rw : файловая система доступна для чтения и записи.
  • relatime : ядро ​​использует оптимизированную схему для записи доступа к файлам и изменения метаданных.
  • errors = remount -o : если обнаружена достаточно серьезная ошибка, файловая система будет перемонтирована в режиме только для чтения, чтобы разрешить диагностику.

Опрос вашей файловой системы с помощью df

Команда df также может использоваться для отображения того, какие файловые системы смонтированы и где находятся их точки монтирования.

df , используемый без параметров, дает ту же проблему перегрузки информацией, что и mount . Например, в Ubuntu Linux существует псевдофайловая система squashfs , созданная для каждого приложения, которое было установлено с помощью команды snap . Кто хочет увидеть все это?

Чтобы заставить df их игнорировать — или любой другой тип файловой системы — используйте параметр -x (exclude):

 df -x squashfs 

Вы можете легко увидеть имена файловых систем, их емкость, используемое и свободное пространство, а также их точки монтирования.

Перемонтирование всех файловых систем в fstab

Все файловые системы, смонтированные во время загрузки, имеют записи в файле с именем fstab , который является таблицей файловой системы, расположенной в /etc .

Вы можете использовать mount для принудительного «обновления» и перемонтирования всех файловых систем, перечисленных в fstab . В нормальных условиях эксплуатации это не требуется. Это действительно вступает в свои права, если у вас есть проблемы с несколькими файловыми системами.

Вам нужно будет использовать sudo , поэтому вам будет предложено ввести пароль.

 sudo mount -a 

Правда, на правильно работающем компьютере это немного не впечатляет.

Однако на компьютере с проблемами файловой системы перемонтирование может устранить проблемы. Если этого не произойдет, то, по крайней мере, вы получите диагностические сообщения на экране и в системных журналах, которые помогут вам найти причину проблемы.

Монтирование ISO-образа

Легко смонтировать ISO-образ, чтобы вы могли получить доступ к его содержимому как части файловой системы.

Это будет работать с любым образом ISO. В этом примере мы используем Tiny Core Linux ISO, потому что он удобно небольшой и быстрый для загрузки. (Небольшой дистрибутив Linux с графическим интерфейсом, размером 18 МБ! Вероятно, у вас больше файлов .mp3.)

В той же директории, что и образ ISO, введите эту команду. Подставьте имя файла ISO, который вы монтируете.

 sudo mount -t iso9660 -o loop TinyCore-current.iso/mnt 

Поскольку нам нужно использовать sudo , вам нужно будет ввести свой пароль.

Опция -t (тип) сообщает mount , какой тип файловой системы мы монтируем. Это файл ISO, поэтому мы предоставляем спецификатор типа iso9660 .

Флаг -o (параметры) используется для передачи дополнительных параметров в mount . Наш параметр — loop .

Мы используем loop , чтобы заставить mount использовать файл устройства цикла для подключения к нашему ISO-образу. Файл устройства цикла позволяет монтировать файл (например, образ ISO) и обрабатывать его так, как если бы он был устройством хранения.

Файлы устройств — это специальные файлы, используемые в качестве интерфейса, поэтому подключенные устройства выглядят так, как если бы они были обычным файлом файловой системы. Это часть всего, что в Linux является философией файлового дизайна.

Существует много разных типов файлов устройств. Мы видели это раньше, когда заметили, что единственная файловая система ext4 на этом тестовом компьютере была смонтирована в / и называлась sda .

Чтобы быть более точным, эта файловая система ext4 находится на устройстве хранения, подключенном к файловой системе через файл устройства /dev/sda , и файловая система на этом устройстве хранения смонтирована. в /.

Разумеется, мы должны предоставить имя ISO-образа и сообщить mount , где мы хотели бы смонтировать файловую систему. Мы выбрали /mnt .

ISO-образ смонтирован. Напоминание о том, что ISO-образы всегда монтируются в режиме только для чтения, появляется в окне терминала.

Изучение ISO-образа

Теперь, когда он смонтирован, мы можем перемещаться по каталогам в образе ISO так же, как и в любой другой части файловой системы. Давайте перечислим файлы в образе ISO. Он монтируется в /mnt запомнить.

 ls/mnt 
 ls/mnt/cde/

Размонтирование образа ISO

Чтобы размонтировать смонтированную файловую систему, используйте команду umount . Обратите внимание, что между «u» и «m» нет «n» — команда umount , а не «unmount».

Вы должны указать umount , какую файловую систему вы отключаете. Сделайте это, указав точку монтирования файловой системы.

 sudo umount/mnt 

Отсутствие новостей — хорошая новость. Если нечего сообщать, то все прошло хорошо.

Создание точки монтирования

Вы можете создавать и использовать свои собственные точки монтирования. Мы собираемся создать один с именем isomnt и смонтировать наш ISO-образ на этом. Точка монтирования — это просто каталог. Таким образом, мы можем использовать mkdir для создания нашей новой точки монтирования.

 sudo mkdir/media/dave/isomnt 

Теперь мы можем использовать тот же формат команд, что и раньше, для монтирования нашего ISO-образа. На этот раз мы не будем монтировать его в /mnt , мы будем монтировать его в /media/dave/isomnt/:

 sudo mount -r -t iso9660 -o loop TinyCore-current.iso/media/dave/isomnt/

Теперь мы можем получить доступ к смонтированной файловой системе с нашей новой точки монтирования.

 ls/media/dave/isomnt/cde/необязательный 

Но эти пути становятся очень длинными. Это быстро станет утомительным. Давайте сделаем что-нибудь с этим.

Привязка точки монтирования

Вы можете привязать точку монтирования к другому каталогу.Затем к монтированной файловой системе можно получить доступ либо через исходную точку монтирования, либо через связанный с ней каталог.

Вот работающий пример. Мы создадим каталог в нашем домашнем каталоге с именем iso . Затем мы свяжем точку монтирования ISO-образа /media/dave/isomnt с новым каталогом iso в нашем домашнем каталоге.

Мы сможем получить доступ к ISO-образу через исходную точку монтирования /media/dave/isomnt и через новый каталог iso . Опция -B (bind) требует имя точки монтирования и имя каталога, к которому она привязана.

 mkdir iso 
 sudo mount -B/media/dave/isomnt/iso 
 ls iso 
 ls/media/dave/isomnt 
 cd iso 
 Ls 
 cd cde 

Использование umount с Binds

Файловая система, у которой точка монтирования связана с другим каталогом, требует размонтирования из своей точки монтирования и точки привязки.

Даже если мы размонтируем файловую систему из исходной точки монтирования, вы все равно сможете получить доступ к файловой системе из ее привязанного каталога. Файловая система также должна быть размонтирована из этого каталога.

 sudo umount/media/dave/isomnt 
 ls iso
 sudo umount iso 
 ls iso 

Монтирование дискеты

Флоппи-дисковод (с гибким диском в нем) является устройством хранения. Это означает, что файл устройства sd (для устройства хранения) будет использоваться для подключения к физическому устройству. Мы должны установить, какой следующий бесплатный файл устройства SD. Мы можем сделать это, отправив выходные данные из df через grep и ища записи с «sd» в них.

 df | grep/dev/sd 

На этом компьютере используется один файл устройства sd. Это /dev/sda . Следующий выпущенный файл устройства sd будет /dev/sdb . Это означает, что когда мы подключаем дисковод к компьютеру, Linux будет использовать /dev/sdb для подключения к дисководу.

Мы сообщим mount смонтировать файловую систему на дискете в дисководе, который подключен к /dev/sdb к /mnt точка крепления.

Вставьте дискету в дисковод и подключите дисковод к USB-порту компьютера. Выполните следующую команду:

 sudo mount/dev/sdb/mnt 

Метки файловой системы

Мы можем использовать опцию -l (label) с mount , чтобы выяснить, какая метка, если таковая имеется, прикреплена к файловой системе. Метки являются не более чем произвольными именами. У них нет функционального назначения.

Мы используем параметр -t (тип), чтобы запросить mount сообщать только о файловых системах vfat .

 mount -l -t vfat 

Вы найдете ярлык в квадратных скобках в конце списка. Ярлык для этого дисковода — NORTUN.

Мы можем получить доступ к дисководу гибких дисков через точку монтирования /mnt .

 cd/mnt 
 Ls 
 ls -l AMATCH.C 

Дискета содержит файлы с исходным кодом на языке Си. Отметка даты одного файла показывает, что он был последний раз изменен в октябре 1992 года. Вероятно, он старше, чем многие наши читатели. (Излишне говорить, что значение NORTUN как ярлыка теряется в глубине веков.)

Если мы повторим нашу команду df , переданную по каналу grep , для просмотра файлов устройств sd, мы увидим, что теперь их два.

 df | grep/dev/sd 

Наш дисковод гибких дисков выглядит как смонтированный в /dev/sdb , как мы и ожидали. Файловая система на дискете в дисководе смонтирована в /mnt .

Чтобы размонтировать дискету, мы используем umount и передаем ей файл устройства в качестве параметра.

 sudo umount/dev/sdb 

Безграничный Ленивый Вариант

Что произойдет, если вы (или другой пользователь) используете файловую систему при попытке размонтировать ее? Размонтирование не удастся.

 sudo umount/dev/sdb 

Это не удалось, поскольку текущий рабочий каталог пользователя находится в файловой системе, которую он пытается отключить. Linux достаточно умен, чтобы не позволить вам отпугнуть ветку, на которой вы сидите.

Чтобы преодолеть это, используйте параметр -l (lazy). Это заставляет umount ждать, пока файловая система не сможет безопасно отключиться.

 sudo umount -l/dev/sdb 
 Ls 
 cd ~ 
 ls/mnt 

Несмотря на то, что введена команда umount , файловая система все еще монтируется, и пользователь может вывести список файлов в обычном режиме.

Как только пользователь меняет каталог на свой домашний каталог, файловая система дискеты освобождается и размонтируется. Попытка перечислить файлы в /mnt не дает результатов.

Монтирование Samba Share

Samba — это набор программных сервисов, которые обеспечивают взаимозаменяемость общего доступа к сетевым ресурсам между Linux и Unix-подобными операционными системами и операционными системами Windows.

Настройка Samba выходит за рамки этой статьи. Но если у вас есть авторизованный доступ к общему ресурсу Samba, который был предоставлен вам, вы можете подключить его в Linux.

Raspberry Pi, подключенный к той же сети, что и тестовая машина, имеет общий ресурс Samba. Это каталог с именем Backup, которому Samba присвоено имя «share». Давайте установим SSH-соединение с ним и посмотрим содержимое общего каталога. Общий каталог находится на USB-накопителе, смонтированном на Pi.

Имя пользователя — pi , а сетевое имя Raspberry Pi — marineville.local .

 ssh pi@marineville.local 
 ls/media/pi/USB64/Backup 
 Выход 

Пользователь вводит команду SSH и запрашивает пароль Raspberry Pi.

Они предоставляют свой пароль и проходят проверку подлинности. Запрос окна терминала изменится на pi @ marineville , поскольку он подключен к Raspberry Pi.

Они перечисляют содержимое общего каталога в /media/pi/USB64/Backup . Содержимое состоит из двух каталогов: один называется dave , а другой — pat . Итак, теперь мы знаем, чего ожидать, когда мы монтируем общий ресурс Samba.

Они набирают exit , чтобы отключиться от Raspberry Pi, и приглашение снова изменяется на dave @ howtogeek .

Чтобы использовать Samba, вы должны установить пакет cifs-utils .

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

 sudo apt-get install cifs-utils 

После завершения установки подключите общий ресурс с помощью команды, подобной следующей, изменив IP-адрес, имя общего ресурса и точку подключения (которая уже должна существовать) в соответствии с вашими обстоятельствами.

 sudo mount -t cifs -o учетные данные =/etc/samba/creds, uid = 1000, gid = 1000 //192.168.4.13/share/media/dave/NAS 

Давайте разберемся с частями этой команды.

  • -t cifs . Тип файловой системы: cifs.
  • -o учетные данные =/etc/samba/creds, uid = 1000, gid = 1000 . Параметры параметров — это путь к файлу с именем creds , который защищен и содержит имя пользователя и пароль для пользователя Raspberry Pi; идентификатор пользователя (UID) и идентификатор группы (GID), которые используются для установки владельца и группы корня файловой системы.
  • // 192.168.4.13/share : сетевое расположение устройства с общим ресурсом Samba и имя Samba общего каталога. Корнем общего ресурса является каталог с именем Backup , но для его общего ресурса Samba установлено значение share .
  • /media/dave/NAS : имя точки монтирования. Вы должны создать свою точку монтирования заранее.

Получая доступ к нашей точке монтирования в /media/dave/NAS , мы получаем доступ к общему каталогу на Raspberry Pi по всей сети. Мы видим две папки на Raspberry Pi, которые называются dave и pat .

 cd/media/dave/NAS 

Создание и монтирование файловой системы

Вы можете использовать команду dd для создания файла изображения, а затем использовать mkfs для создания внутри него файловой системы. Эта файловая система может быть смонтирована. Это хороший способ попрактиковаться и поэкспериментировать с mount .

Мы используем опцию if (входной файл), чтобы указать dd использовать поток нулевых значений из /dev/zero в качестве входного файла.

of (выходной файл) — это новый файл с именем geek_fs .

Мы используем опцию bs (размер блока) для запроса размера блока 1 МБ.

Мы используем опцию count , чтобы dd включить 20 блоков в выходной файл.

 dd if =/dev/zero of./geek_fs bs = 1M count = 20 

Это создает наш файл изображения для нас. Он не содержит ничего, кроме нулевых значений.

Мы можем создать работающую файловую систему внутри файла geek_fs , используя команду mkfs . Параметр -t (тип) позволяет нам выбрать файловую систему тип . Мы создаем систему ext4 .

 mkfs -t ext4 ./geek_fs 

Это все, что нужно, чтобы иметь работающую файловую систему.

Давайте смонтируем его в /media/dave/geek , а затем используем chown , чтобы установить владельца и группы владельцев, чтобы разрешить доступ к нему.

 sudo mount ./geek_fs/media/dave/geek 
 sudo chown dave: пользователи/медиа/dave/geek 

Это работает? Давайте перейдем в новую файловую систему и скопируем файл, чтобы увидеть.

 cd/media/dave/geek 
 cp/etc/fstab.
 ls -l 

Нам удалось сменить каталог на новую файловую систему, и мы успешно сделали копию файла /etc/fstab . Работает!

Если мы используем mount для вывода списка смонтированных файловых систем, но ограничиваем его вывод файловыми системами ext4 с помощью параметра -t (type), мы ‘ Посмотрим, что теперь есть две смонтированные файловые системы ext4 .

 mount -t ext4 

Перемонтирование файловой системы

Перемонтирование файловой системы использует опцию -o remount . Обычно это делается для перевода файловой системы из состояния «только чтение» (тестирование) в состояние «чтение-запись» (производство).

Давайте снова смонтируем наш дисковод. На этот раз мы будем использовать флаг -r (только для чтения). Затем мы передадим mount через grep и рассмотрим детали файловой системы дискеты.

 sudo mount -r/dev/sdb/mnt 
 mount | grep/mnt 

Как видите, подсвеченный ro означает, что файловая система смонтирована только для чтения.

Используя опцию -o remount с флагом rw (чтение-запись), мы можем размонтировать и перемонтировать файловую систему с новыми настройками, все в одной команде.

 sudo mount -o remount, rw/mnt 

Повторение конвейера mount через grep показывает, что ro был заменен на rw (выделено). Файловая система теперь находится в режиме чтения-записи.

 mount | grep/mnt 

(Не) Перемещение файловой системы

Раньше вы могли размонтировать файловую систему и перемонтировать ее в другую точку монтирования с помощью одной команды.

Параметр -M (перемещение) в mount существует специально для того, чтобы вы могли это сделать. Но он больше не работает в дистрибутивах Linux, которые перешли на systemd . И это большинство громких имен.

Если мы попытаемся переместить файловую систему из /mnt в ./ geek , она завершится неудачно и выдаст сообщение об ошибке, показанное ниже. Попытка перечислить файлы в файлах с помощью ./ geek не дает результатов.

 sudo mount -M/mnt ./geek 
 ls ./geek 

Обходной путь должен использовать параметр -B (bind), который мы использовали ранее, чтобы привязать исходную точку монтирования к новой точке монтирования.

 sudo mount -B/mnt ./geek 
 ls ./geek 

Помимо не освобождения исходной точки монтирования, это будет иметь тот же практический результат.

Заключительные наблюдения

Используя опцию --make-private , можно было заставить принудительно перейти на версии systemd Linux. Эта техника не представлена ​​здесь по двум причинам.

  1. Это может иметь непредсказуемое поведение.
  2. Это не было постоянным и должно было бы повторяться при каждой перезагрузке.

Devuan Linux использует SysV init, а не systemd . Компьютер был загружен с последней версией Devuan и протестирован. Опция -M (перемещение) работала, как и ожидалось, в этой системе.

Помимо проблем systemd с опцией -M (move), вы должны найти использование mount и umount просто. Это отличные команды, чтобы держать себя в руках при столкновении с поврежденной системой, и вы должны начать собирать файловую систему вручную.

Оцените статью
TutoryBird.Ru
Добавить комментарий