Provided by: manpages-it-dev_4.27.0-1_all 

NOME
umount, umount2 - smonta i filesystem
LIBRERIA
Libreria C standard (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)
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 sia l'uno
dall'altro, sia 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 specificata 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 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 è bloccato; vedere 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.
CONFORME A
Linux.
STORIA
MNT_DETACH e MNT_EXPIRE sono disponibili da glibc 2.11.
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).
NOTE
umount() e punti di mount condivisi
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 mount
secondario di quel "peer group". Questo significa che l'azione di umount() di qualsiasi "peer" in un
insieme di mount condivisi provocherà lo smontaggio di tutti suoi "peer" e anche di tutti i loro
secondari.
Questa propagazione dell'attivita di smontaggio può riservare sorprese specialmente nei sistemi dove ogni
punto di mount è condiviso 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 lento 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.
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>, Marco
Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>
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.9.1 2 maggio 2024 umount(2)