- Команда mount в Linux
- Введение
- Синтаксис
- Параметры
- Использование команды mount в Linux
- Результат монтирования
- Запуск без параметров
- Список определённых файловых систем
- Монтирование файловой системы
- Монтирование файловой системы с помощью /etc/fstab
- Монтирование съёмного устройства
- Размонтирование съёмного устройства
- Принудительное размонтирование
- Заключение
Команда mount в Linux
В Linux команда mount позволяет пользователям монтировать (присоединять) дополнительную файловую систему к определённой точке монтирования текущей системы.
- Введение
- Синтаксис
- Параметры
- Использование команды mount в Linux
- Результат монтирования
- Запуск без параметров
- Список определённых файловых систем
- Монтирование файловой системы
- Монтирование файловой системы с помощью /etc/fstab
- Монтирование съёмного устройства
- Размонтирование съёмного устройства
- Принудительное размонтирование
Введение
Иерархия файловой системы Linux организована в виде большой древовидной структуры, где файловая система начинается с корневого каталога / . Все остальные дочерние файловые системы отходят от корневого каталога.
Эти файлы могут быть распределены на различных устройствах в зависимости от вашей таблицы разделов fstab . Родительский каталог монтируется к этому дереву в / . Все остальные дочерние файловые системы отходят от корневого каталога.
Все файловые системы не монтируемые автоматически можно смонтировать вручную с помощью графического интерфейса (если он доступен) или с помощью команды mount , которая передает инструкции монтирования ядру, завершающему операцию.
Команда указывает ядру смонтировать файловую систему, найденную в устройстве [device] в каталог [dir] . Опция -t [type] необязательна и описывает лишь тип файловой системы (EXT3, EXT4, BTRFS, XFS, HPFS, VFAT и т. д.).
Если команде mount не указан целевой каталог, то монтируются файловые системы, перечисленные в файле /etc/fstab .
Пока файловая система смонтирована, предыдущее содержимое, владелец и режим каталога [dir] невидимы, а имя пути [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.