- Монтирование диска в Linux
- Что такое монтирование?
- Монтирование дисков в Linux
- Монтирование разделов с помощью mount
- Размонтирование устройств в Linux
- Выводы
- How to Mount and Unmount Filesystems in Linux
- Listing Mounted Filesystems in Linux
- Mounting Filesystems in Linux
- Mounting USB Drive/Stick in Linux
- Mounting ISO Files in Linux
- Mount File System Automatically in Linux
- Unmounting a Filesystem in Linux
Монтирование диска в Linux
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
- -V — вывести версию утилиты;
- -h — вывести справку;
- -v — подробный режим;
- -a, —all — примонтировать все устройства, описанные в fstab;
- -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
- -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
- -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
- -l, —show-labels — добавить метку диска к точке монтирования;
- -c — использовать только абсолютные пути;
- -r, —read-only — монтировать раздел только для чтения;
- -w, —rw — монтировать для чтения и записи;
- -L, —label — монтировать раздел по метке;
- -U, —uuid — монтировать раздел по UUID;
- -T, —fstab — использовать альтернативный fstab;
- -B, —bind — монтировать локальную папку;
- -R, —rbind — перемонтировать локальную папку.
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
Если нужно, вы можете указать файловую систему с помощью опции -t:
sudo mount -v -t ext4 /dev/sdb6 /mnt
Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:
sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
sudo mount -t ext4 -o noexec /dev/sdb6 /mnt
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
sudo mount —bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
lsof -w /mnt
$ lsof -w /dev/sdb6
Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to Mount and Unmount Filesystems in Linux
The Linux operating system is basically a file system and without these files’ formats and structures, the definition of this operating system environment would be incomplete.
In other words, files are the central units of the Linux operating system architecture. The Linux filesystem stores OS-associated files and directories. Filesystems are also evident in USB and hard disk drives and a properly configured network can also permit the sharing of these filesystems among different machines.
This article seeks to expose us to the mount and umount commands primarily used in attaching and detaching file systems from various mount points.
Listing Mounted Filesystems in Linux
Linux makes it possible for a filesystem to be mounted on any directory location. A successfully mounted filesystem makes it possible for its associated/stored files and directories to be accessible from that mount directory. The directories are also referred to as the filesystem mount points.
By default, your Linux operating system already has some filesystems mounted. To get a preview of these mounted filesystems, execute the Linux mount command without any flags or arguments.
Consider the following last entry from the execution of the above mount command.
/dev/sdb5 on /media/dnyce/117137A85FFD287C type fuseblk (rw,nosuid,nodev,relatime,user_id=0)
- /dev/sdb5 is the mounted filesystem/device name.
- /media/dnyce/117137A85FFD287C is the mount point.
- fuseblk is the filesystem type.
- (rw,nosuid,nodev,relatime,user_id=0) is the mount options.
To review the mounting information associated with a specific filesystem type like fuseblk, vfat, ext4, fuseblk, etc., we can implement a mount command (with a -t flag) similar to the following:
Mounting Filesystems in Linux
To successfully mount a filesystem, we have to adhere to the following two rules:
- Make sure a mount point exists or create one using the Linux mkdir command.
- Reference the following command syntax to successfully mount the filesystem.
$ sudo mount -t Type Device MountPoint
A Linux operating system can automatically detect the type of filesystem associated with a device hence the use of the -t option is not explicitly needed.
However, in cases where a partition is not formatted or is corrupted and/or mandatory filesystem tools like the ntfs-3g package (needed for read and write access for NTFS partitions) are not installed, the inclusion of the -t option is necessary to successfully mount that filesystem.
For security reasons, Linux only allows sudoer/root users to perform mounting operations. Other users will be able to have directory access after the mounting point directories are set with the needed permissions (by root/sudoer users).
Mounting USB Drive/Stick in Linux
First, identify the USB block device with the Linux fdisk command.
Create a mount point if you do not have one yet.
$ sudo mount /dev/sdb1 /mnt/usb32G
The USB drive should now be accessible from the /mnt/usb32G directory.
Mounting ISO Files in Linux
A pseudo-device known as a loop device is effective in mounting an ISO image since it is not restricted to a physical device. This loop device makes the ISO image files accessible.
Create a mount point directory:
$ sudo mkdir /mnt/CorePlusIso
Mount the ISO image and make sure to check the absolute path to the ISO file.
$ sudo mount $HOME/Downloads/CorePlus-current.iso /mnt/CorePlusIso -o loop
You will notice that ISO images have read-only permission access. To make modifications, you will need to duplicate the ISO files from the mount directory to another directory location before making your needed changes.
$ ls -l /mnt/CorePlusIso $ sudo mount | grep CorePlusIso
Useful Mount -o Options
The -loop is for mounting loop devices.
$ sudo mount -t Type Device MountPoint -o loop
The -rw enables read-write on the mounted filesystem.
$ sudo mount -t Type Device MountPoint -o rw
The -ro enables read-only on the mounted filesystem.
$ sudo mount -t Type Device MountPoint -o ro
The -noauto disables automatic mounting of the filesystem during system reboot.
$ sudo mount -t Type Device MountPoint -o noauto
Mount File System Automatically in Linux
Use the /etc/fstab file when you want your filesystem to automatically mount after a successful system reboot.
For instance, to make the CorePlus-current.iso file mount automatically after mounting it in the /mnt/CorePlusIso directory, first run the command:
$ sudo mount | grep CorePlusIso
The above command execution produces an output like:
/home/dnyce/Downloads/CorePlus-current.iso on /mnt/CorePlusIso type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
Edit the above output to be something like:
/home/dnyce/Downloads/CorePlus-current.iso /mnt/CorePlusIso iso9660 ro,relatime,utf8
The above line can then be added as an entry in the /etc/fstab file.
Once the Linux system reboots, mounting the above file will be as easy as pointing to its file system directory.
$ sudo mount /home/dnyce/Downloads
Unmounting a Filesystem in Linux
If it is a USB device labeled /dev/sdb1, we can unmount it with the command:
For an iso image, unmount it from its mount point directory:
$ sudo umount /mnt/CorePlusIso
To unmount multiple filesystems adhere to the command:
$ sudo umount /dev/sdb1 /mnt/CorePlusIso
When wanting to unmount a filesystem and still unsure whether it is operational, use the -l flag which will make sure the pending read and write operation completes before successfully unmounting the filesystem.
If you want to force a filesystem to unmount, implement the command:
We have successfully covered how to mount various filesystems in Linux both temporarily and permanently. We have also demonstrated to effectively unmount the same filesystems. Hope this article guide was useful. Feel free to leave a comment or feedback.