Provided by: manpages-it-dev_4.13-4_all bug

NOME

       umount, umount2 - smonta i filesystem

SINTASSI

       #include <sys/mount.h>

       int umount(const char *target);

       int umount2(const char *target, int opzioni);

DESCRIZIONE

       umount() e umount2() rimuovono il filesystem (più alto) montato su target.

       Sono  necessari  privilegi  appropriati  (Linux:  capacità  CAP_SYS_ADMIN  per  smontare i
       filesystem.

       A partire da Linux 2.1.116 è stata aggiunta la chiamata di  sistema  umount2()  che,  come
       umount(),   smonta   un   target,  ma  permette  opzioni  aggiuntive  che  controllano  il
       comportamento dell'operazione:

       MNT_FORCE (a partire da Linux 2.1.116)
              Chiede al filesystem di interrompere le richieste  pendenti  prima  di  tentare  lo
              smontaggio. Ciò può consentire di completare lo smontaggio senza rimanere in attesa
              di un server inaccessibile, ma potrebbe  causare  perdita  di  dati.  Se,  dopo  le
              richieste  d'interruzione,  alcuni  processi  hanno  ancora  riferimenti  attivi al
              filesystem, lo  smontaggio  fallirà.  Alla  versione  4.12  di  Linux  MNT_FORCE  è
              supportato  solo  sui  seguenti  filesystem:  9p  (da Linux 2.6.16), ceph (da Linux
              2.6.34), cifs (da Linux 2.6.12), fuse (da Linux 2.6.16), lustre (da Linux  3.11)  e
              NFS (da Linux 2.1.116).

       MNT_DETACH (a partire da Linux 2.4.11)
              Esegue  uno  smontaggio  lento: rende il punto di mount non disponibile per i nuovi
              accessi, disconnette immediatamente il filesystem  e  tutti  i  filesystem  montati
              sotto  di  esso da ogni altro e dalla tabella di mount, ed esegue effettivamente lo
              smontaggio quando il punto di mount smette di essere occupato.

       MNT_EXPIRE (a partire da Linux 2.6.8)
              Marca il punto di mount come scaduto. Se un punto di mount  non  è  attualmente  in
              uso,  allora  una  chiamata  iniziale  a  umount2() con questa opzione fallisce con
              l'errore EAGAIN, ma marca il punto di mount come scaduto. Il punto di mount  rimane
              scaduto fino a quando non vi accede nessun processo. Una seconda chiamata umount2()
              che specifica MNT_EXPIRE smonta un punto di mount scaduto. Questa opzione  non  può
              essere specificato con MNT_FORCE o con MNT_DETACH.

       UMOUNT_NOFOLLOW (a partire da Linux 2.6.34)
              Non  elimina il riferimento a target se è un collegamento simbolico. Questa opzione
              permette di  evitare  problemi  di  sicurezza  in  programmi  set-user-ID-root  che
              consentono a utenti senza privilegi di smontare i filesystem.

VALORE RESTITUITO

       In  caso  di  successo  restituisce  zero. In caso di errore restituisce -1, e errno verrà
       impostato di conseguenza.

ERRORI

       I valori di errore indicati di seguito sono causati da errori  indipendenti  dal  tipo  di
       filesystem.  Ciascun  tipo  di  filesystem  può  avere  i  propri errori speciali e il suo
       comportamento speciale. Vedere il codice sorgente del kernel per dettagli.

       EAGAIN Una chiamata a umount2() che  specifica  MNT_EXPIRE  ha  marcato  con  successo  un
              filesystem non occupato come scaduto.

       EBUSY  target non può essere smontato in quanto occupato.

       EFAULT target punta fuori dallo spazio di indirizzamento dell'utente.

       EINVAL target non è un punto di mount.

       EINVAL umount2() è stato chiamato con MNT_EXPIRE e con uno fra MNT_DETACH o MNT_FORCE.

       EINVAL (a partire da Linux 2.6.34)
              umount2() è stato cchiamato con un valore di opzione non valido in flags.

       ENAMETOOLONG
              Un nome di percorso è più lungo di MAXPATHLEN.

       ENOENT Un nome di percorso era vuoto o aveva un componente inesistente.

       ENOMEM Il kernel non può allocare una pagina libera in cui copiare nomi di file o dati.

       EPERM  Il chiamante non ha i privilegi necessari.

VERSIONI

       MNT_DETACH e MNT_EXPIRE sono disponibili in glibc sin dalla versione 2.11.

CONFORME A

       Queste  funzioni  sono  specifiche di Linux e non devono essere usate in programmi pensati
       per essere portabili.

NOTE

   umount() e punti di mount "shared mount"
       Punti di mount condivisi fanno sì che qualsiasi attività  di  montaggio  su  un  punto  di
       mount, comprese le operazioni di umount(), siano propagate a ogni punto di mount condiviso
       nel "peer group" e a ogni "slave  mount"  di  quel  "peer  group".  Questo  significa  che
       l'azione  di  umount()  di  qualsiasi  "peer" in una serie di "shared mount" provocherà lo
       smontaggio di tutti suoi "peer" e anche di tutti i loro "slave".

       Questa propagazione dell'attivita di smontaggio può riservare  sorprese  specialmente  nei
       sistemi  dove  ogni  punto  di  mount  è  condiviso  (shared) in modo predefinito. Su tali
       sistemi, montare ricorsivamente con un montaggio di tipo "bind" la  directory  radice  del
       filesystem  in  una  sottodirectory  e  poi  smontare quella sottodirectory con MNT_DETACH
       provoca lo smontaggio "lazy" di ogni montaggio nello spazio dei nomi di mount.

       Per essere sicuri che umount() non si propaghi in questo  modo,  il  punto  di  mount  può
       essere rimontato usando una chiamata mount(2) con un argomento mount_flags che includa sia
       MS_REC sia MS_PRIVATE prima che umount() venga chiamato.

   Dettagli storici
       La funzione originale umount() era  chiamata  come  umount(device)  e  restituiva  ENOTBLK
       quando  non  veniva  chiamata da un dispositivo a blocchi. In Linux 0.98p4 fu aggiunta una
       chiamata umount(dir), per poter supportare dispositivi anonimi. In  Linux  2.3.99-pre7  la
       chiamata  umount(device)  fu rimossa, lasciando solo umount(dir) (poiché ora i dispositivi
       possono essere montati in  più  di  un  posto,  così  specificare  il  dispositivo  non  è
       sufficiente).

VEDERE ANCHE

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

COLOPHON

       Questa pagina fa parte del rilascio 5.10 del progetto Linux man-pages. Una descrizione del
       progetto, le istruzioni per la segnalazione degli errori, e l'ultima  versione  di  questa
       pagina si trovano su https://www.kernel.org/doc/man-pages/.

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina di manuale è stata creata da Elisabetta Galli
       <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>

       Questa traduzione è documentazione libera; leggere la GNU General Public License  Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per segnalare errori nella traduzione di questa pagina di manuale inviare un  messaggio  a
       pluto-ildp@lists.pluto.it ⟨⟩.