Монтирование, тестирование и размонтирование файловой системы
На этом этапе вы научитесь делать вашу новую файловую систему доступной для операционной системы. Этот процесс называется «монтированием». Монтирование связывает файловую систему на устройстве (например, /dev/sdb1) с определенным каталогом в дереве файловой системы, который называется «точкой монтирования». После монтирования вы сможете работать с разделом так же, как с любым другим каталогом.
Сначала нужно создать точку монтирования. Это обычный пустой каталог. По общепринятой практике временные точки монтирования создаются в каталоге /mnt. Создадим каталог /mnt/data. Поскольку /mnt является системным каталогом, понадобится sudo.
sudo mkdir /mnt/data
Теперь используйте команду mount, чтобы подключить раздел /dev/sdb1 к каталогу /mnt/data.
sudo mount /dev/sdb1 /mnt/data
Чтобы убедиться, что файловая система смонтирована, проверим статус монтирования. Мы используем несколько команд для проверки:
## Проверка, является ли каталог точкой монтирования
mountpoint /mnt/data
Если монтирование прошло успешно, вы увидите:
/mnt/data is a mountpoint
Теперь проверим использование дискового пространства с помощью df. Из-за особенностей loop-устройства раздел может отображаться под своим реальным именем, а не через символическую ссылку:
df -h /mnt/data
Вы должны увидеть запись о смонтированной файловой системе:
Filesystem Size Used Avail Use% Mounted on
/dev/loop13p1 488M 2.6M 459M 1% /mnt/data
Также можно проверить через команду mount:
mount | grep /mnt/data
Результат должен быть таким:
/dev/loop13p1 on /mnt/data type ext4 (rw,relatime)
Теперь проверим возможность записи данных. Сначала посмотрим текущего владельца и права доступа к точке монтирования:
ls -ld /mnt/data
Вы увидите нечто подобное:
drwxr-xr-x 3 root root 4096 Dec 12 10:00 /mnt/data
Попробуйте создать файл в точке монтирования:
touch /mnt/data/testfile
Скорее всего, команда завершится ошибкой "Permission denied" (Доступ запрещен). Это происходит потому, что корневой каталог смонтированной файловой системы принадлежит пользователю root. Чтобы исправить это, смените владельца точки монтирования на вашего текущего пользователя labex:
sudo chown labex:labex /mnt/data
Теперь попробуйте создать файл еще раз:
touch /mnt/data/testfile
На этот раз команда должна выполниться успешно. Проверьте наличие файла:
ls -l /mnt/data
Вы должны увидеть:
total 16
drwx------ 2 root root 16384 Dec 12 10:00 lost+found
-rw-r--r-- 1 labex labex 0 Dec 12 10:05 testfile
Каталог lost+found является стандартным для файловых систем ext4 и используется для восстановления файлов в случае сбоя файловой системы.
Когда работа с файловой системой закончена, ее следует размонтировать с помощью команды umount. Важно помнить, что нельзя размонтировать файловую систему, если она используется (например, если ваш текущий рабочий каталог находится внутри точки монтирования). Проверим это на практике.
Сначала перейдите в каталог /mnt/data:
cd /mnt/data
Теперь попробуйте размонтировать его. К файловой системе можно обращаться либо по имени устройства, либо по точке монтирования.
sudo umount /mnt/data
Вы получите сообщение об ошибке, указывающее, что цель занята.
umount: /mnt/data: target is busy.
Чтобы успешно размонтировать раздел, нужно выйти из этого каталога. Вернитесь в домашний каталог.
cd ~
Теперь снова выполните команду umount.
sudo umount /mnt/data
Команда должна выполниться без вывода сообщений. Проверьте, что раздел больше не смонтирован:
mountpoint /mnt/data
Вы увидите:
/mnt/data is not a mountpoint
Наконец, можно навести порядок и удалить каталог точки монтирования:
sudo rmdir /mnt/data
Совет по устранению неполадок: Если команда монтирования не срабатывает через символическую ссылку, попробуйте использовать реальное имя loop-устройства:
## Поиск реального имени устройства
ACTUAL_DEVICE=$(readlink -f /dev/sdb1)
echo "Actual device: $ACTUAL_DEVICE"
## Монтирование с использованием реального имени
sudo mkdir /mnt/data
sudo mount $ACTUAL_DEVICE /mnt/data