Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       umount, umount2 - размонтирует файловую систему

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <sys/mount.h>

       int umount(const char *target);
       int umount2(const char *target, int flags);

ОПИСАНИЕ

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

       Для размонтирования файловых систем требуются права (Linux: мандат CAP_SYS_ADMIN).

       В Linux 2.1.116 добавлен системный вызов umount2(),  который,  подобно  umount(),  размонтирует  заданный
       объект, но позволяет указать дополнительные флаги flags, контролирующие поведение операции:

       MNT_FORCE (начиная с Linux 2.1.116)
              Попросить  файловую  систему  прервать ожидающие запросы перед попыткой размонтирования. Это может
              позволить выполнить размонтирование без ожидания недоступного сервера, но может привести к  потере
              данных. Если после прерывания запросов некоторые процессы продолжат обращаться к файловой системе,
              размонтирование  не  будет  выполнено.  В  Linux  4.12 MNT_FORCE поддерживается только в следующих
              файловых системах: 9p (начиная с Linux 2.6.16), ceph (начиная с Linux  2.6.34),  cifs  (начиная  с
              Linux 2.6.12), fuse (начиная с Linux 2.6.16), lustre (начиная с Linux 3.11) и NFS (начиная с Linux
              2.1.116).

       MNT_DETACH (начиная с Linux 2.4.11)
              Perform  a  lazy  unmount: make the mount unavailable for new accesses, immediately disconnect the
              filesystem and all filesystems mounted below it from each other and  from  the  mount  table,  and
              actually perform the unmount when the mount ceases to be busy.

       MNT_EXPIRE (начиная Linux 2.6.8)
              Mark  the mount as expired.  If a mount is not currently in use, then an initial call to umount2()
              with this flag fails with the error EAGAIN, but marks the mount as  expired.   The  mount  remains
              expired  as  long  as  it  isn't  accessed  by  any  process.  A second umount2()  call specifying
              MNT_EXPIRE unmounts an expired mount.  This flag cannot be  specified  with  either  MNT_FORCE  or
              MNT_DETACH.

       UMOUNT_NOFOLLOW (начиная с Linux 2.6.34)
              Не  следовать  по  ссылке,  если  target  является  символьной ссылкой. Это флаг помогает избежать
              проблем с безопасностью в программах принадлежащих  root  и  с  установленным  битом  set-user-ID,
              которые позволяют непривилегированным пользователям размонтировать файловые системы.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

       Коды  ошибок,  описанные  ниже, не зависят от типа файловой системы. У каждой файловой системы могут быть
       свои коды ошибок и своё собственное поведение. Подробности смотрите в исходном коде ядра Linux.

       EAGAIN Вызов  umount2()  с  флагом  MNT_EXPIRE   успешно   пометил   незанятую   файловую   систему   как
              недействительную.

       EBUSY  Объект target не может быть размонтирован, так как он занят.

       EFAULT Объект target указывает вне адресного пространства, доступного пользователю.

       EINVAL Значение target не является точкой монтирования.

       EINVAL target is locked; see mount_namespaces(7).

       EINVAL Вызов umount2() был вызван с флагом MNT_EXPIRE и с MNT_DETACH или MNT_FORCE.

       EINVAL (начиная с Linux 2.6.34)
              Вызов umount2() был сделан с неверным значением флага flags.

       ENAMETOOLONG
              Значение пути длиннее чем MAXPATHLEN.

       ENOENT Указан пустой путь или одна из его частей не существует.

       ENOMEM Ядро не может выделить свободную страницу для копирования имени файла или данных.

       EPERM  Вызывающий процесс не имеет требуемых привилегий.

СТАНДАРТЫ

       Linux.

ИСТОРИЯ

       MNT_DETACH and MNT_EXPIRE are available since glibc 2.11.

       Изначально функция umount() вызывалась как umount(device) и возвращала ENOTBLK при попытке работы с любым
       не  блочным устройством. В Linux 0.98p4 был добавлен вызов umount(dir) для поддержки анонимных устройств.
       В Linux 2.3.99-pre7 был убран вызов umount(device), остался только umount(dir) (теперь  устройства  могут
       быть подключены более чем к одной точке, поэтому указания только устройства недостаточно).

ПРИМЕЧАНИЯ

   umount() and shared mounts
       Shared  mounts  cause  any  mount  activity on a mount, including umount() operations, to be forwarded to
       every shared mount in the peer group and every slave mount of that peer group.  This means that  umount()
       of any peer in a set of shared mounts will cause all of its peers to be unmounted and all of their slaves
       to be unmounted as well.

       This  propagation  of  unmount  activity  can  be particularly surprising on systems where every mount is
       shared by default.  On such systems, recursively bind mounting the root directory of the filesystem  onto
       a  subdirectory and then later unmounting that subdirectory with MNT_DETACH will cause every mount in the
       mount namespace to be lazily unmounted.

       To ensure umount()  does not propagate in this fashion, the mount may be remounted using a mount(2)  call
       with a mount_flags argument that includes both MS_REC and MS_PRIVATE prior to umount()  being called.

СМОТРИТЕ ТАКЖЕ

       mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  Ovchinnikov  <dmitriyxt5@gmail.com>,  Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova
       <blackkatelv@gmail.com>, Yuri Kozlov  <yuray@komyakino.ru>,  Иван  Павлов  <pavia00@gmail.com>  и  Kirill
       Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        umount(2)