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)
Forza lo smontaggio anche se occupato. Questo può causare una perdita di dati. (solo per i mount NFS).
MNT_DETACH (a partire da Linux 2.4.11)
Esegue uno smontaggio lento: rende il punto di mount non disponibile per i nuovi accessi, 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 viene restituito zero. In caso di errore viene restituito −1 , e errno viene 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
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), path_resolution(7), mount(8), umount(8)
COLOPHON
Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l’ultima versione di questa pagina si trova su http://www.kernel.org/doc/man−pages/.
La versione
italiana fa parte del pacchetto man-pages-it v. 3.73,
a cura di: ILDP "Italian Linux Documentation
Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento
a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a
ildp [AT] pluto.it