Команда mount в Linux

Опубликовано admin - пн, 02/06/2023 - 15:48

В Linux команда mount позволяет пользователям монтировать (присоединять) дополнительную файловую систему к определённой точке монтирования текущей системы.

Примеры использования команд mount и umount в Linux

Содержание

Введение

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

Эти файлы могут быть распределены на различных устройствах в зависимости от вашей таблицы разделов fstab. Родительский каталог монтируется к этому дереву в /. Все остальные дочерние файловые системы отходят от корневого каталога.

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

Команда указывает ядру смонтировать файловую систему, найденную в устройстве [device] в каталог [dir]. Опция -t [type] необязательна и описывает лишь тип файловой системы (EXT3, EXT4, BTRFS, XFS, HPFS, VFAT и т. д.).

Если команде mount не указан целевой каталог, то монтируются файловые системы, перечисленные в файле /etc/fstab.

Пока файловая система смонтирована, предыдущее содержимое, владелец и режим каталога [dir] невидимы, а имя пути [dir] относится к корню файловой системы.

Синтаксис

mount -t [type] [device] [dir]

Параметры

Наиболее распространённые опции команды mount:

-a
Монтирование всех файловые системы, перечисленных в /etc/fstab
-F
Разветвление нового монтирования каждого устройства (используется в сочетании с опцией -a)
-l
Список всех смонтированных файловых систем и добавление меток к каждому устройству
-L [label]
Монтирование раздела с указанным [label]
-M
Перемещение поддерева в другое место
-O  [opts]
При использовании в сочетании с опцией -a ограничивает набор файловых систем
-r
Монтирование файловой системы в режиме только для чтения
-R
Перемонтирование поддерева в другом месте, делая его содержимое доступным в обоих местах
-t  [type]
Указание типа файловой системы
-T
Использование для указания альтернативного файла /etc/fstab
-v
Монтирование подробно с описанием каждой операции
-h
Отображение файла справки со всеми параметрами команды
-V
Отображение информации о версии программы

Использование команды mount в Linux

Результат монтирования

Команда mount возвращает одно из следующих значений, указывающих на статус завершения процесса:

0
Успех
1
Неверный вызов команды или недостаточные разрешения
2
Системная ошибка
4
Ошибка внутреннего монтирования
8
Операция прервана пользователем
16
Проблемы с записью или блокировкой файла /etc/mtab
32
Сбой монтирования
64
По крайней мере, одна операция монтирования прошла успешно, но не все

Запуск без параметров

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

oleg@mobile:~:$ mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=921624k,nr_inodes=230406,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
/dev/sda6 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=34,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14043)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=932020k,nr_inodes=1048576,inode64)
/dev/sda5 on /mnt/ubuntu type ext4 (rw,relatime)
/dev/sda3 on /mnt/win_d type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
/dev/sda2 on /mnt/win_c type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sda8 on /home type ext4 (rw,relatime)
ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=186400k,nr_inodes=46600,mode=700,uid=1000,gid=984,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=984)
oleg@mobile:~:$

Список определённых файловых систем

Параметр -t позволяет пользователям указать, какие файловые системы отображать при выполнении команды mount. Например, чтобы показать только файловые системы ext4, выполняется следующая команда:

oleg@mobile:~:$ mount -t ext4
/dev/sda6 on / type ext4 (rw,relatime)
/dev/sda5 on /mnt/ubuntu type ext4 (rw,relatime)
/dev/sda8 on /home type ext4 (rw,relatime)
oleg@mobile:~:$ 

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

Для монтирования файловой системы указывается каталог или точка монтирования, к которой будет присоединена файловая система. Например, чтобы смонтировать файловую систему /dev/sdc в каталог /mnt/sdc следует выполнить:

oleg@mobile:~:$ sudo mount /dev/sdc /mnt/sdc

Для указания дополнительных параметров монтирования используется флаг -o, за которым перед именем устройства следуют параметры:

mount -o [options] [device] [dir]

Монтирование файловой системы с помощью /etc/fstab

Файл конфигурации /etc/fstab содержит строки, описывающие место монтирования системных устройств и используемые ими параметры. Файл fstab используется для внутренних устройств, таких как устройства CD/DVD, также для общих сетевых ресурсов (samba /nfs/sshfs). Съёмные устройства обычно монтируются иначе.

При ручном монтировании устройства и предоставлении команде mount только одного параметра ([dir]или [device]) утилита считывает содержимое файла конфигурации /etc/fstab. В случае наличия в его списке указанных файловых систем команда mount использует параметры монтирования, приведённые в /etc/fstab .

Пример структуры файла /etc/fstab:

oleg@mobile:~:$ cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# /dev/sda6
UUID=6d031569-0134-4713-9cb8-4f55968dc362    /             ext4          rw,relatime    0 1

# /dev/sda8
UUID=e0b4595f-9e86-4dcc-b334-7f50a012a79b    /home         ext4          rw,relatime    0 2

# /dev/sda5
# UUID=92369345-9663-4edb-86c1-58578e43edb5    /mnt/ubuntu    ext4          rw,relatime    0 2
/dev/sda5                    /mnt/ubuntu     ext4            rw,relatime     0 2

# /dev/sda2
UUID=2C2E8B882E8B49B2                            /mnt/win_c        ntfs          defaults    0 0

# /dev/sda3
UUID=0292C00092BFF66F                            /mnt/win_d      ntfs    uid=oleg,gid=users      0 0

# /dev/sda7
UUID=2cb45ba1-0d5f-493e-bb45-77b966f5fd6e    none          swap          defaults      0 0

/dev/cdrom                    /mnt/cdrom    auto    noauto,owner,ro            0 0
oleg@mobile:~:$

Монтирование съёмного устройства

Подавляющее большинство современных дистрибутивов Linux автоматически монтируют съёмные устройства после их вставки. Однако, если автоматическое монтирование не удалось или вы отключили автоматическое монтирование по каким-либо своим причинам, то для монтирования съёмного устройства вручную выполняется ряд действий.

Смотрим смонтированные устройства /dev/sd*:

oleg@mobile:~:$ ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 фев  6 07:55 /dev/sda
brw-rw---- 1 root disk 8, 1 фев  6 07:55 /dev/sda1
brw-rw---- 1 root disk 8, 2 фев  6 07:55 /dev/sda2
brw-rw---- 1 root disk 8, 3 фев  6 07:55 /dev/sda3
brw-rw---- 1 root disk 8, 4 фев  6 07:55 /dev/sda4
brw-rw---- 1 root disk 8, 5 фев  6 07:55 /dev/sda5
brw-rw---- 1 root disk 8, 6 фев  6 07:55 /dev/sda6
brw-rw---- 1 root disk 8, 7 фев  6 07:55 /dev/sda7
brw-rw---- 1 root disk 8, 8 фев  6 07:55 /dev/sda8
oleg@mobile:~:$ 

Все устройства определяются как /dev/sda*.

Теперь вставляем флешку и проверяем снова:

oleg@mobile:~:$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 фев  6 07:55 /dev/sda
brw-rw---- 1 root disk 8,  1 фев  6 07:55 /dev/sda1
brw-rw---- 1 root disk 8,  2 фев  6 07:55 /dev/sda2
brw-rw---- 1 root disk 8,  3 фев  6 07:55 /dev/sda3
brw-rw---- 1 root disk 8,  4 фев  6 07:55 /dev/sda4
brw-rw---- 1 root disk 8,  5 фев  6 07:55 /dev/sda5
brw-rw---- 1 root disk 8,  6 фев  6 07:55 /dev/sda6
brw-rw---- 1 root disk 8,  7 фев  6 07:55 /dev/sda7
brw-rw---- 1 root disk 8,  8 фев  6 07:55 /dev/sda8
brw-rw---- 1 root disk 8, 16 фев  6 11:47 /dev/sdb
oleg@mobile:~:$ 

Мы видим появление нового устройства /dev/sdb.

Создаём для этого устройства точку монтирования, например /mnt/sdb:

oleg@mobile:~:$ sudo mkdir /mnt/sdb

Теперь монтируем устройство /dev/sdb в /mnt/sdb:

oleg@mobile:~:$ sudo mount /dev/sdb /mnt/sdb

В данном примере показано монтирование устройства USB. Внешний жёсткий диск, либо карта памяти монтируются точно так же.

Размонтирование съёмного устройства

Размонтировать подключенное устройство весьма просто. Для этого достаточно выполнить команду umount с указанием точки монтирования:

oleg@mobile:~:$ sudo umount /mnt/sdb

Принудительное размонтирование

Для принудительного размонтирования файловой системы команда umount используется с опцией -f:

oleg@mobile:~:$ sudo umount -f /mnt/sdb

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

Заключение

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

Поделиться с друзьями