Linux unmount all drives

Как монтировать и размонтировать файловые системы в Linux

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

Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

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

Как вывести список подключенных файловых систем

При использовании без аргументов команда mount отобразит все подключенные в данный момент файловые системы:

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

device_name on directory type filesystem_type (options) 

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

Например, чтобы распечатать только разделы ext4, которые вы должны использовать:

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

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

mount [OPTION. ] DEVICE_NAME DIRECTORY 

После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.

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

sudo mount /dev/sdb1 /mnt/media

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

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

mount -t TYPE DEVICE_NAME DIRECTORY 

Чтобы указать дополнительные параметры монтирования , используйте параметр -o :

mount -o OPTIONS DEVICE_NAME DIRECTORY 

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

Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .

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

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

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

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

[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass] 

Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :

mount [OPTION. ] DIRECTORY mount [OPTION. ] DEVICE_NAME 

Установка USB-накопителя

В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.

Чтобы вручную подключить USB-устройство, выполните следующие действия:

    Создайте точку монтирования:

sudo mount /dev/sdd1 /media/usb
fdisk -l ls -l /dev/disk/by-id/usb* dmesg lsblk

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

Читайте также:  Linux на флешке simple

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

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

    Начните с создания точки монтирования, это может быть любое место, которое вы хотите:

sudo mount /path/to/image.iso /media/iso -o loop

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

Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.

    Установите клиент NFS в Ubuntu и Debian:

sudo apt install nfs-common
sudo yum install nfs-utils

Выполните следующие действия, чтобы смонтировать удаленный каталог NFS в вашей системе:

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

Добавьте в файл следующую строку, заменив remote.server:/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:

#     remote.server:/dir /media/nfs nfs defaults 0 0

Отключение файловой системы

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

umount DIRECTORYumount DEVICE_NAME

Если файловая система используется, команда umount не сможет отсоединить файловую систему. В таких ситуациях вы можете использовать команду fuser чтобы узнать, какие процессы обращаются к файловой системе:

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

Ленивое отключение

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

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

Используйте параметр -f ( —force ), чтобы принудительно размонтировать. Этот параметр обычно используется для отключения недоступной системы NFS.

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

Выводы

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

Чтобы узнать больше о параметрах команд mount и umount , см. Соответствующие страницы руководства.

Источник

DESCRIPTION

The umount command detaches the mentioned filesystem(s) from the file hierarchy. A filesystem is specified by giving the directory where it has been mounted. Giving the special device on which the filesystem lives may also work, but is obsolete, mainly because it will fail in case this device was mounted on more than one directory.

Note that a filesystem cannot be unmounted when it is ‘busy’ — for example, when there are open files on it, or when some process has its working directory there, or when a swap file on it is in use. The offending process could even be umount itself — it opens libc, and libc in its turn may open for example locale files. A lazy unmount avoids this problem, but it may introduce other issues. See —lazy description below.

OPTIONS

All of the filesystems described in /proc/self/mountinfo (or in deprecated /etc/mtab) are unmounted, except the proc, devfs, devpts, sysfs, rpc_pipefs and nfsd filesystems. This list of the filesystems may be replaced by —types umount option.

Unmount all mountpoints in the current mount namespace for the specified filesystem. The filesystem can be specified by one of the mountpoints or the device name (or UUID, etc.). When this option is used together with —recursive, then all nested mounts within the filesystem are recursively unmounted. This option is only supported on systems where /etc/mtab is a symlink to /proc/mounts.

-c, —no-canonicalize

Do not canonicalize paths. The paths canonicalization is based on stat(2) and readlink(2) system calls. These system calls may hang in some cases (for example on NFS if server is not available). The option has to be used with canonical path to the mount point.

This option is silently ignored by umount for non-root users.

For more details about this option see the mount(8) man page. Note that umount does not pass this option to the /sbin/umount.type helpers.

When the unmounted device was a loop device, also free this loop device. This option is unnecessary for devices initialized by mount(8), in this case «autoclear» functionality is enabled by default.

Causes everything to be done except for the actual system call or umount helper execution; this ‘fakes’ unmounting the filesystem. It can be used to remove entries from the deprecated /etc/mtab that were unmounted earlier with the -n option.

Note that this option does not guarantee that umount command does not hang. It’s strongly recommended to use absolute paths without symlinks to avoid unwanted readlink(2) and stat(2) system calls on unreachable NFS in umount.

Do not call the /sbin/umount.filesystem helper even if it exists. By default such a helper program is called if it exists.

Lazy unmount. Detach the filesystem from the file hierarchy now, and clean up all references to this filesystem as soon as it is not busy anymore.

A system reboot would be expected in near future if you’re going to use this option for network filesystem or local filesystem with submounts. The recommended use-case for umount -l is to prevent hangs on shutdown due to an unreachable network share where a normal umount will hang due to a downed server or a network partition. Remounts of the share will not be possible.

-N, —namespace ns

Perform umount in the mount namespace specified by ns. ns is either PID of process running in that namespace or special file representing that namespace.

umount switches to the namespace when it reads /etc/fstab, writes /etc/mtab (or writes to /run/mount) and calls umount(2) system call, otherwise it runs in the original namespace. It means that the target mount namespace does not have to contain any libraries or other requirements necessary to execute umount(2) command.

See mount_namespaces(7) for more information.

-O, —test-opts option.

Unmount only the filesystems that have the specified option set in /etc/fstab. More than one option may be specified in a comma-separated list. Each option can be prefixed with no to indicate that no action should be taken for this option.

Recursively unmount each specified directory. Recursion for each directory will stop if any unmount operation in the chain fails for any reason. The relationship between mountpoints is determined by /proc/self/mountinfo entries. The filesystem must be specified by mountpoint path; a recursive unmount by device name (or UUID) is unsupported. Since version 2.37 it umounts also all over-mounted filesystems (more filesystems on the same mountpoint).

-t, —types type.

Indicate that the actions should only be taken on filesystems of the specified type. More than one type may be specified in a comma-separated list. The list of filesystem types can be prefixed with no to indicate that no action should be taken for all of the mentioned types. Note that umount reads information about mounted filesystems from kernel (/proc/mounts) and filesystem names may be different than filesystem names used in the /etc/fstab (e.g., «nfs4» vs. «nfs»).

NON-SUPERUSER UMOUNTS

Normally, only the superuser can umount filesystems. However, when fstab contains the user option on a line, anybody can umount the corresponding filesystem. For more details see mount(8) man page.

Since version 2.34 the umount command can be used to perform umount operation also for fuse filesystems if kernel mount table contains user’s ID. In this case fstab user= mount option is not required.

Since version 2.35 umount command does not exit when user permissions are inadequate by internal libmount security rules. It drops suid permissions and continue as regular non-root user. This can be used to support use-cases where root permissions are not necessary (e.g., fuse filesystems, user namespaces, etc).

LOOP DEVICE

The umount command will automatically detach loop device previously initialized by mount(8) command independently of /etc/mtab.

In this case the device is initialized with «autoclear» flag (see losetup(8) output for more details), otherwise it’s necessary to use the option —detach-loop or call losetup -d device. The autoclear feature is supported since Linux 2.6.25.

EXTERNAL HELPERS

The syntax of external unmount helpers is:

umount.suffix directory|device> [-flnrv] [-N namespace] [-t type.subtype]

where suffix is the filesystem type (or the value from a uhelper= or helper= marker in the mtab file). The -t option can be used for filesystems that have subtype support. For example:

umount.fuse -t fuse.sshfs

A uhelper=something marker (unprivileged helper) can appear in the /etc/mtab file when ordinary users need to be able to unmount a mountpoint that is not defined in /etc/fstab (for example for a device that was mounted by udisks(1)).

A helper=type marker in the mtab file will redirect all unmount requests to the /sbin/umount.type helper independently of UID.

Note that /etc/mtab is currently deprecated and helper= and other userspace mount options are maintained by libmount.

ENVIRONMENT

Источник

Оцените статью
Adblock
detector