JavaRush /Курсы /Docker SELF /Монтирование и размонтирование файловых систем: mount, um...

Монтирование и размонтирование файловых систем: mount, umount

Docker SELF
6 уровень , 3 лекция
Открыта

1. Что такое монтирование?

Добро пожаловать на ещё одну захватывающую лекцию о работе с Linux! Сегодня мы поговорим о монтировании и размонтировании файловых систем — процессе, который открывает двери к работе с USB-накопителями, дополнительными жёсткими дисками и даже сетевыми хранилищами. Мы изучим, как настроить автоматическое монтирование, чтобы ваши данные были на месте с самого запуска системы. А главное, будем всё это делать на практике!

Монтирование — это процесс подключения файловой системы устройства (жёсткого диска, USB-накопителя, ISO-образа) в дерево файловой системы Linux. В отличие от Windows, где вы видите устройства как "D:\" или "E:\", в Linux все устройства «встраиваются» в структуру файлов в определённую папку, называемую точкой монтирования.

Аналогия: поезд и станция

Представьте поезд (устройство) и железнодорожную станцию (точку монтирования). Чтобы люди могли выйти на станцию и начать пользоваться инфраструктурой (файлами), поезд должен прибыть на платформу и состыковаться. Примерно так же работает монтирование устройства к его точке в Linux.


2. Команда mount

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

Основной синтаксис

mount [опции] <устройство> <точка монтирования>
  • <устройство> — это место, где ваше устройство подключено в системе, например, /dev/sdb1. Вы можете найти это с помощью команды lsblk.
  • <точка монтирования> — папка, в которую будут переданы данные устройства. Например, это может быть /mnt/disk.

Пример подключения USB-накопителя:

sudo mount /dev/sdb1 /mnt/usb

После выполнения команды файлы с устройства /dev/sdb1 станут доступны внутри папки /mnt/usb.

Полезные опции команды mount

  1. Указание файловой системы:

    Если Linux не распознаёт файловую систему устройства, используйте флаг -t. Например:

    sudo mount -t ext4 /dev/sdb1 /mnt/usb
    

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

  2. Монтирование только для чтения:

    Если вы хотите защитить данные устройства от изменения, используйте опцию -o ro:

    sudo mount -o ro /dev/sdb1 /mnt/usb
    
  3. Монтирование с указанием кодировки:

    Для FAT32 или NTFS-дисков иногда нужно указывать кодировку символов:

    sudo mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
    

3. Команда umount

Теперь, когда вы подключили устройство, возникает вопрос: как его отключить? Это важно, чтобы Linux «закрыл» все соединения с диском и завершил запись.

Основной синтаксис

umount <устройство или точка монтирования>

Пример для уже подключенного USB-накопителя:

sudo umount /mnt/usb

Или можно указать само устройство:

sudo umount /dev/sdb1

Что делать, если umount не работает?

Иногда команда umount может выдать ошибку: "Device is busy" (устройство занято). Это означает, что кто-то (в терминах файловой системы) «сидит на рельсах». Возможно, вы или другая программа в данный момент открыли файл на этом устройстве.

В таких случаях помогает команда fuser, которая покажет процессы, блокирующие устройство:

fuser -v /mnt/usb

Найдя виноватого, можно завершить процесс:

kill <ID процесса>

После этого повторите команду umount.

Важно!

Помните в Windows перед тем как достать флешку нужно было кликнуть по кнопке Извлечь (Eject)? Это не что иное, как выполнение команды unmount.


4. Автоматическое монтирование через /etc/fstab

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

Что такое /etc/fstab?

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

Как добавить устройство в /etc/fstab?

  1. Найдите UUID вашего устройства с помощью команды blkid:

    sudo blkid
    

    Например, устройство /dev/sdb1 может иметь UUID 1234-5678.

  2. Откройте файл /etc/fstab для редактирования:

    sudo nano /etc/fstab
    
  3. Добавьте новую строку:

    UUID=1234-5678 /mnt/usb ext4 defaults 0 2
    
    • UUID — уникальный идентификатор вашего устройства.
    • /mnt/usb — точка монтирования.
    • ext4 — файловая система устройства.
    • defaults — стандартные параметры монтирования.
    • 0 и 2 — параметры проверки устройства при загрузке (настраиваемые).
  4. Проверьте настройки, смонтировав устройство:

    sudo mount -a
    

Теперь при перезагрузке системы устройство будет подключаться автоматически.

Риски

⚠️ Если настроить /etc/fstab неправильно, система может не загрузиться. Всегда проверяйте конфигурацию с помощью:

sudo mount -a

Если ошибок нет, всё работает правильно.


5. Пример: монтирование и размонтирование USB-накопителя

Допустим, вы подключили USB-накопитель, и система определила его как /dev/sdb1.

  1. Создайте точку монтирования:

    sudo mkdir -p /mnt/usb
    
  2. Подключите накопитель:

    sudo mount /dev/sdb1 /mnt/usb
    
  3. Проверьте содержимое:

    ls /mnt/usb
    
  4. Завершив работу, отключите устройство:

    sudo umount /mnt/usb
    

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


6. Практическое задание

Задача

  1. Подключите USB-накопитель или виртуальный диск.
  2. Создайте точку монтирования /mnt/test-disk.
  3. Смонтируйте устройство в эту папку и проверьте содержимое.
  4. Настройте монтирование через /etc/fstab с использованием UUID.
  5. Отключите устройство и убедитесь, что настройки работают при перезагрузке.

Подсказки

  • Если устройства нет, создайте его, используя команду форматирования из предыдущей лекции (mkfs.ext4).
  • Проверяйте настройки fstab перед перезагрузкой.

Теперь вы знаете, как монтировать и размонтировать устройства в Linux, автоматизировать их подключение через конфигурацию /etc/fstab и безопасно диагностировать любые проблемы. Монтирование — это важный шаг к комфортной работе с данными, и эти знания пригодятся вам как в домашнем проекте, так и на рабочем сервере.

1
Задача
Docker SELF, 6 уровень, 3 лекция
Недоступна
Монтирование устройства
Монтирование устройства
1
Задача
Docker SELF, 6 уровень, 3 лекция
Недоступна
Указание типа файловой системы при монтировании
Указание типа файловой системы при монтировании
1
Задача
Docker SELF, 6 уровень, 3 лекция
Недоступна
Монтирование с дополнительными параметрами
Монтирование с дополнительными параметрами
1
Задача
Docker SELF, 6 уровень, 3 лекция
Недоступна
Настройка автоматического монтирования через `/etc/fstab`
Настройка автоматического монтирования через `/etc/fstab`
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Stitch Уровень 14
5 апреля 2025
Так как многим приходится работать с docker на Windows+wsl было бы полезно привести примеры для монтирование папок windows в wsl