Provided by: manpages-it-dev_4.21.0-2_all 

NOME
umount, umount2 - smonta i filesystem
LIBRARY
Standard C library (libc, -lc)
SINTASSI
#include <sys/mount.h>
int umount(const char *target);
int umount2(const char *target, int flags);
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)
Perform a lazy unmount: make the mount unavailable for new accesses, immediately disconnect the
filesystem and all filesystems mounted below it from each other and from the mount table, and
actually perform the unmount when the mount ceases to be busy.
MNT_EXPIRE (a partire da Linux 2.6.8)
Mark the mount as expired. If a mount is not currently in use, then an initial call to umount2()
with this flag fails with the error EAGAIN, but marks the mount as expired. The mount remains
expired as long as it isn't accessed by any process. A second umount2() call specifying
MNT_EXPIRE unmounts an expired mount. This flag cannot be specified with either MNT_FORCE or
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 per
indicare l'errore.
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 target is locked; see mount_namespaces(7).
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 and MNT_EXPIRE are available since glibc 2.11.
STANDARDS
Queste funzioni sono specifiche di Linux e non devono essere usate in programmi pensati per essere
portabili.
NOTE
umount() and shared mounts
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.
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)
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 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.
Linux man-pages 6.03 4 dicembre 2022 umount(2)