| umount(2) | System Calls Manual | umount(2) |
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, контролирующие поведение операции:
При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.
Коды ошибок, описанные ниже, не зависят от типа файловой системы. У каждой файловой системы могут быть свои коды ошибок и своё собственное поведение. Подробности смотрите в исходном коде ядра Linux.
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) (теперь устройства могут быть подключены более чем к одной точке, поэтому указания только устройства недостаточно).
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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 2 мая 2024 г. | Справочные страницы Linux 6.9.1 |