🐧 Как смонтировать устройство на Linux

by itisgood

Команда mount – это команда, используемая в Linux для подключенных файловых систем и дисков, а команда umount используется для отключения (размонтирования) любых подключенных файловых систем или устройств.

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

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

Как в Linux, так и в UNIX-подобных операционных системах мы можем использовать команду mount / umount для подключения / отключения устройств.

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

Чтобы отобразить все подключенные в настоящее время файловые системы, мы наберем:

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=491472k,nr_inodes=122868,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=100904k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
....

По умолчанию выходные данные будут включать все файловые системы, включая виртуальные, такие как cgroup, sysfs и другие.

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

Чтобы перечислить только определенные типы файловых систем, мы будем использовать опцию -t:

$ mount -t ext4
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)

В списке только файловая система Linux ext4 и обычно отображаются наши диски Linux.

Вы можете использовать fdisk, чтобы иметь представление о том, какие у вас Linux-разделы и устройства, например:

$ sudo fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x817e2210

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 20971486 20969439  10G 83 Linux


Disk /dev/sdb: 10 MiB, 10485760 bytes, 20480 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
На моем компьютере с Fedora Linux мы видим другую конфигурацию дисков:
$ sudo fdisk -l
Disk /dev/sda: 223.58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: TS240GSSD220S   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7AA5C627-6B3A-4500-91B2-757F762207CF

Device       Start       End   Sectors   Size Type
/dev/sda1     2048    411647    409600   200M EFI System
/dev/sda2   411648   2508799   2097152     1G Linux filesystem
/dev/sda3  2508800 468860927 466352128 222.4G Linux LVM


Disk /dev/mapper/fedora_localhost--live-root: 70 GiB, 75161927680 bytes, 146800640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/fedora_localhost--live-swap: 7.84 GiB, 8401190912 bytes, 16408576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/fedora_localhost--live-home: 144.56 GiB, 155206025216 bytes, 303136768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Теперь, когда я вставлю флешку, мы получаем еще одну информацию с помощью fdisk -l:
Disk /dev/sdb: 1.88 GiB, 1998585856 bytes, 3903488 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1  *     2048 3903487 3901440  1.9G  c W95 FAT32 (LBA)
Это важно, когда нам нужно найти, какой диск мы хотим смонтировать (присоединить) или отсоединить.
В этом случае мы видим USB-накопитель /dev/sdb1.

Чтение параметров монтирования диска

Мы можем использовать команду mount -t для вывода списка параметров монтирования диска.

USB-накопитель, который я вставил ранее, был автоматически смонтирован, и мы увидели, что файловая система VFAT.

$ mount -t vfat
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
/dev/sdb1 on /run/media/slax/tribal type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
Мы видим, что USB-накопитель монтируется как /dev/sdb1 в /run/media/slax/tribal.

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

Чтобы смонтировать диск, нам нужно назначить ему корневой каталог (точку монтирования) командой mount в следующем формате:
$ mount [OPTIONS...] DRIVE DIRECTORY

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

Используйте параметр -t, чтобы указать тип файловой системы:

$ mount -t FILESYSTEM DRIVE DIRECTORY
Чтобы указать дополнительные параметры монтирования, вы можете использовать опцию -o:
$ mount -o OPTIONS DRIVE DIRECTORY
Вы можете использовать несколько опций, разделяя их запятой (не вставляйте пробел после запятой).

Монтирование на Linux USB-накопителя

Итак, сначала нам нужно создать точку монтирования (каталог):

$ sudo mkdir /media/myusb
Далее мы монтируем диск в /media/myusb:
$ sudo mount /dev/sdb1 /media/myusb/

С помощью dh -H в последней строке мы видим, что наше USB-устройство успешно установлено.

$ df -H
Filesystem                               Size  Used Avail Use% Mounted on
devtmpfs                                 8.4G     0  8.4G   0% /dev
tmpfs                                    8.4G  149M  8.2G   2% /dev/shm
tmpfs                                    8.4G  2.0M  8.4G   1% /run
/dev/mapper/fedora_localhost--live-root   74G   22G   49G  31% /
tmpfs                                    8.4G  103k  8.4G   1% /tmp
/dev/sda2                                1.1G  229M  725M  24% /boot
/dev/mapper/fedora_localhost--live-home  152G   60G   85G  42% /home
/dev/sda1                                210M   21M  189M  10% /boot/efi
tmpfs                                    1.7G   14M  1.7G   1% /run/user/1000
/dev/sdb1                                2.0G  4.1k  2.0G   1% /media/myusb

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

Точки подключения и их параметры, настроенные в /etc/fstab, будут автоматически подключаться при запуске системы.

Файл /etc/fstab содержит список записей в следующей форме:

| File System | Mount Point | FileSystem Type | Options | Dump | Pass |
Вот пример файла /etc/fstab с моего компьютера:
$ cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sun Aug  4 04:28:13 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
192.168.0.15:/volume1/NetBackup /mnt/perun	nfs	_netdev,defaults	0 0
/dev/mapper/fedora_localhost--live-root /                       ext4    defaults        1 1
UUID=a061115a-5965-4525-a3e9-b4c52c43ecf1 /boot                   ext4    defaults        1 2
UUID=1D56-1DD9          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home                   ext4    defaults        1 2
/dev/mapper/fedora_localhost--live-swap none                    swap    defaults        0 0
Таким образом, вы можете добавить запись и настроить точку монтирования в /etc/fstab, чтобы она всегда монтировалась при загрузке системы.

Монтирование NFS шары

NFS означает «Network File System». Для монтирования общего ресурса NFS в вашей системе Linux должен быть установлен клиентский пакет NFS.

Чтобы установить NFS-клиент в Ubuntu и Debian, введите:

$ sudo apt install nfs-common
Чтобы установить NFS-клиент на CentOS и Fedora:

$ sudo yum install nfs-utils
Как мы уже видели в моих примерах файлов /etc/fstab, у меня уже есть настроенный ресурс NFS на моем компьютере:
192.168.0.15:/volume1/NetBackup /mnt/perun	nfs	_netdev,defaults	0 0
Вы можете добавить запись в /etc/fstab на вашем компьютере, используя Nano или Vim, и ввести URL-путь к вашему удаленному общему каталогу NFS и локальную точку монтирования (каталог), которая будет использоваться для доступа к удаленным файлам.

Монтирование файлов ISO

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

Начните с создания точки монтирования, каталога, который будет использоваться с файлом ISO:

$ sudo mkdir /media/iso
Смонтируйте файл ISO в точку монтирования, введя следующую команду:

$ sudo mount /path_to_image.iso /media/iso -o loop
В приведенном выше примере команды, path_to_image.iso, конечно же, путь к вашему ISO-файлу.

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

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

Если в качестве примера использовать USB-накопитель из ранее, команды будут выглядеть так:

$ sudo umount /run/media/slax/tribal
$ sudo umount /dev/sdb1
Если файловая система используется, команда umount не сможет отсоединить файловую систему.

Lazy unmount

Используйте параметр -l (–lazy), чтобы размонтировать занятую файловую систему, как только она больше не будет занята.
$ sudo umount -l /dev/sdb1

Force unmount

Используйте параметр -f (–force) для принудительного отключения.
Этот параметр обычно используется для размонтирования недоступной системы NFS.
В случае моего общего ресурса NFS команда будет такая:
$ sudo umount -f /mnt/perun
Не рекомендуется так делать, так как это может повредить данные в файловой системе.

Заключение

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

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

You may also like

Leave a Comment