| umount(2) | System Calls Manual | umount(2) |
umount, umount2 - odmontowuje system plików
Standardowa biblioteka C (libc, -lc)
#include <sys/mount.h>
int umount(const char *target); int umount2(const char *target, int flags);
umount() i umount2() usuwają dołączenie (najwyżej ułożonego) systemu plików zamontowanego w celu target.
Do odmontowywania systemów plików wymagane są odpowiednie przywileje (Linux: przywilej CAP_SYS_ADMIN (ang. capability)).
Linux 2.1.116 dodał wywołanie systemowe umount2(), które, podobnie jak umount(), odmontowuje cel, lecz dozwala podanie dodatkowych flags, które kontrolują zachowanie operacji:
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.
Podane poniżej wartości błędów, stanowią błędy niezależne od typu systemu plików. Każdy typ systemu plików może mieć swoje specjalne błędy i swoje specjalne zachowania. Więcej szczegółów w kodzie źródłowym jądra Linux.
Linux.
MNT_DETACH i MNT_EXPIRE są dostępne od glibc 2.11.
Pierwotna funkcja umount() była wywoływana jako umount(device) i zwróciłaby ENOTBLK, gdyby wywołano ją z czymś innym niż urządzenie blokowe. W Linuksie 0.98p4, dodano wywołanie umount(dir), aby obsłużyć urządzenia anonimowe. W Linuksie 2.3.99-pre7, usunięto wywołanie umount(device), pozostawiając jedynie umount(dir) (ponieważ urządzenia mogą być obecnie montowane w więcej niż jednym miejscu, zatem podanie urządzenia nie jest wystarczające).
Montowania dzielone powodują, że wszelka aktywność na montowaniu, w tym operacje umount(), są przekierowywane do każdego montowania dzielonego w grupie montowań równoległych i do każdego montowania podległego (slave mount) w tej grupie. Oznacza to, że umount() każdego montowania równoległego w zbiorze montowań dzielonych spowoduje odmontowanie wszystkich montowań równoległych oraz jednocześnie odmontowanie wszelkich ich montowań podległych.
Ta propagacja odmontowania może być szczególnie zaskakująca w systemach, w których każde montowanie jest domyślnie dzielone. W takich systemach, rekurencyjne montowanie z podpięciem, katalogu głównego systemu plików do podkatalogu, a następnie odmontowanie tego podkatalogu ze znacznikiem MNT_DETACH, spowoduje leniwe odmontowania każdego montowania w przestrzeni nazw montowań.
Aby zapewnić, że umount() nie będzie propagowane w ten sposób, przed wywołaniem umount(), montowanie można przemontować za pomocą wywołania mount(2) z argumentem mount_flags, który zawiera MS_REC oraz MS_PRIVATE.
mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8)
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
| 2 maja 2024 r. | Linux man-pages 6.9.1 |