umount(2) System Calls Manual umount(2) NUME umount, umount2 - demonteaza sistemul de fiiere BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include int umount(const char *inta); int umount2(const char *inta, int fanioane); DESCRIERE umount() i umount2() elimina ataamentul sistemului de fiiere (cel mai de sus) montat pe inta. Este necesar un privilegiu corespunzator (Linux: capacitatea CAP_SYS_ADMIN) pentru a demonta sistemele de fiiere. Linux 2.1.116 a adaugat apelul de sistem umount2(), care, la fel ca umount(), demonteaza o inta, dar permite fanioane suplimentare care controleaza comportamentul operaiei: MNT_FORCE (incepand cu Linux 2.1.116) Solicita sistemului de fiiere sa anuleze cererile in ateptare inainte de a incerca demontarea. Acest lucru poate permite ca demontarea sa se finalizeze fara a atepta un server inaccesibil, dar ar putea cauza pierderi de date. In cazul in care, dupa anularea cererilor, unele procese au inca referine active la sistemul de fiiere, demontarea va eua in continuare. Ca in Linux 4.12, fanionul MNT_FORCE este acceptat numai pe urmatoarele sisteme de fiiere: 9p (de la Linux 2.6.16), ceph (de la Linux 2.6.34), cifs (de la Linux 2.6.12), fuse (de la Linux 2.6.16), lustre (de la Linux 3.11) i NFS (de la Linux 2.1.116). MNT_DETACH (incepand cu Linux 2.4.11) Efectueaza o demontare lenea: face ca montarea sa nu fie disponibila pentru noi accesari, deconecteaza imediat sistemul de fiiere i toate sistemele de fiiere montate sub el, unul de celalalt i din tabelul de montare, i efectueaza efectiv demontarea atunci cand montarea inceteaza sa mai fie ocupata. MNT_EXPIRE (incepand cu Linux 2.6.8) Marcheaza montarea ca fiind expirata. Daca o montare nu este utilizata in prezent, atunci un apel iniial la umount2() cu acest fanion eueaza cu eroarea EAGAIN, dar marcheaza montarea ca fiind expirata. Montarea ramane expirata atata timp cat nu este accesata de niciun proces. Un al doilea apel umount2() care specifica MNT_EXPIRE demonteaza o montare expirata. Acest fanion nu poate fi specificat nici cu MNT_FORCE, nici cu MNT_DETACH. UMOUNT_NOFOLLOW (incepand cu Linux 2.6.34) Nu terge referina la inta daca este o legatura simbolica. Acest indicator permite evitarea problemelor de securitate in programele set-user-ID-root care permit utilizatorilor neprivilegiai sa demonteze sisteme de fiiere. VALOAREA RETURNATA In caz de succes, se returneaza zero. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE Valorile de eroare prezentate mai jos sunt rezultatul unor erori independente de tipul de sistem de fiiere. Fiecare tip de sistem de fiiere poate avea propriile erori speciale i propriul comportament special. Pentru detalii, consultai codul sursa al nucleului Linux. EAGAIN Un apel la umount2() specificand MNT_EXPIRE a marcat cu succes un sistem de fiiere neocupat ca fiind expirat. EBUSY inta nu a putut fi demontat deoarece este ocupata. EFAULT inta indica in afara spaiului de adrese al utilizatorului. EINVAL inta nu este un punct de montare. EINVAL inta este blocata; a se vedea mount_namespaces(7). EINVAL umount2() a fost apelat cu MNT_EXPIRE, i deasemeni, fie cu MNT_DETACH, fie cu MNT_FORCE. EINVAL (incepand cu Linux 2.6.34) umount2() a fost apelat cu o valoare nevalida a fanionului in fanioane. ENAMETOOLONG Un nume de ruta a fost mai lung decat MAXPATHLEN. ENOENT Un nume de ruta era gol sau avea o componenta inexistenta. ENOMEM Nucleul nu a putut aloca o pagina libera in care sa copieze nume de fiiere sau date. EPERM Apelantul nu dispune de privilegiile necesare. STANDARDE Linux. ISTORIC MNT_DETACH i MNT_EXPIRE sunt disponibile incepand cu glibc 2.11. Funcia originala umount() era apelata ca umount(dispozitiv) i returna ENOTBLK atunci cand era apelata cu altceva decat un dispozitiv de blocuri. In Linux 0.98p4, a fost adaugat un apel umount(dir), pentru a accepta dispozitive anonime. In Linux 2.3.99-pre7, apelul umount(dispozitiv) a fost eliminat, ramanand doar umount(dir) (deoarece acum dispozitivele pot fi montate in mai multe locuri, astfel incat specificarea dispozitivului nu este suficienta). NOTE umount() i montarile partajate Montarea partajata face ca orice activitate de montare pe o montare, inclusiv operaiile umount(), sa fie transmise catre fiecare montare partajata din grupul de omologi i catre fiecare montare sclava din acel grup de omologi. Aceasta inseamna ca umount() a oricarui omolog dintr-un set de montari partajate va determina demontarea tuturor omologilor sai i a tuturor sclavilor acestora. Aceasta propagare a activitaii de demontare poate fi deosebit de surprinzatoare pe sistemele in care fiecare montare este partajata in mod implicit. Pe astfel de sisteme, montarea recursiva a directorului radacina al sistemului de fiiere pe un subdirector i apoi demontarea ulterioara a acelui subdirector cu MNT_DETACH va face ca fiecare montare din spaiul de nume de montare sa fie demontata in mod lene. Pentru a se asigura ca umount() nu se propaga in acest mod, montarea poate fi remontata utilizand un apel mount(2) cu un argument fanioane_montare care include atat MS_REC, cat i MS_PRIVATE inainte de apelarea umount(). CONSULTAI I mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 umount(2)