| umount(2) | System Calls Manual | umount(2) |
umount, umount2 - smonta i filesystem
Libreria C standard (libc, -lc)
#include <sys/mount.h>
int umount(const char *target); int umount2(const char *target, int flags);
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:
In caso di successo restituisce zero. In caso di errore restituisce -1, e errno verrà impostato per indicare l'errore.
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.
Linux.
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).
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.
mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8)
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.
| 2 maggio 2024 | Linux man-pages 6.9.1 |