> Linux Reviews > man >

umount

umount


  1. umount.2.man


1. umount.2.man

Manpage of UMOUNT

UMOUNT

Section: Руководство программиста Linux (2)
Updated: 2010-06-19
Index Return to Main Contents
 

ИМЯ

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

ОБЗОР

#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)
Принудительно размонтировать даже если файловая система занята. Может привести к потере данных. (Только для смонтированной NFS.)
MNT_DETACH (начиная с Linux 2.4.11)
Выполнить отложенное размонтирование: сделать точку монтирования недоступной для новых подключений, и выполнить настоящее размонтирование только когда точка доступа станет свободной.
MNT_EXPIRE (начиная Linux 2.6.8)
Пометить точку монтирования как недействительную. Если точка монтирования в это время не используется, то первоначальный вызов umount2() с этим флагом завершится с ошибкой EAGAIN, но пометит точку монтирования как недействительную. Точка монтирования остаётся недействительной до тех пор, пока какой-нибудь процесс не запросит к ней доступ. Второй вызов umount2() с флагом MNT_EXPIRE размонтирует недействительную точку монтирования. Этот флаг нельзя указывать вместе с MNT_FORCE или MNT_DETACH.
UMOUNT_NOFOLLOW (начиная с Linux 2.6.34)
Не следовать по ссылке, если target является символьной ссылкой. Это флаг помогает избежать проблем с безопасностью в программах принадлежащих root и с установленным битом set-user-ID, которые позволяют непривилегированным пользователям размонтировать файловые системы.
 

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

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

ОШИБКИ

Коды ошибок, описанные ниже, не зависят от типа файловой системы. У каждой файловой системы могут быть свои коды ошибок и своё собственное поведение. Подробности смотрите в исходном коде ядра.
EAGAIN
Вызов umount2() с флагом MNT_EXPIRE успешно пометил незанятую файловую систему как недействительную.
EBUSY
Объект target не может быть размонтирован, так как он занят.
EFAULT
Объект target указывает вне адресного пространства, доступного пользователю.
EINVAL
Объект target не является точкой монтирования. Или umount2() был вызван с флагом MNT_EXPIRE и с MNT_DETACH или MNT_FORCE.
ENAMETOOLONG
Значение пути длиннее чем MAXPATHLEN.
ENOENT
Указан пустой путь или одна из его частей не существует.
ENOMEM
Ядро не может выделить свободную страницу для копирования имени файла или данных.
EPERM
Вызывающий процесс не имеет требуемых привилегий.
 

ВЕРСИИ

Флаги MNT_DETACH и MNT_EXPIRE есть только в glibc начиная с версии 2.11.  

СООТВЕТСТВИЕ СТАНДАРТАМ

Эти функции есть только в Linux, и они не должны использоваться в переносимых программах.  

ЗАМЕЧАНИЯ

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

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

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


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
ВЕРСИИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ЗАМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:42:05 GMT, May 11, 2012

SVENSKA - SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl