umount(2) System Calls Manual umount(2) NOM umount, umount2 - Demonter un systeme de fichiers BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int umount(const char *target); int umount2(const char *target, int flags); DESCRIPTION umount() et umount2() suppriment l'attachement du systeme de fichiers (de plus haut niveau) monte sur le repertoire target. Les privileges appropries (sous Linux : la capacite CAP_SYS_ADMIN) sont requis pour demonter des systemes de fichiers. Depuis Linux 2.1.116 l'appel systeme umount2() fonctionne comme umount(), mais dispose d'options supplementaires (flags) configurant le comportement de l'operation : MNT_FORCE (depuis Linux 2.1.116) Demander au systeme de fichiers d'abandonner les requetes en attente avant de tenter le demontage. Cela peut permettre au demontage de terminer sans attendre un serveur inaccessible, mais pourrait provoquer la perte de donnees. Si apres l'abandon des requetes, certains processus ont encore des references en cours au systeme de fichiers, le demontage va encore echouer. Au moment de la version 4.12, MNT_FORCE n'est prise en charge que sur les systemes de fichiers suivants : 9p (depuis Linux 2.6.16), ceph (depuis Linux 2.6.34), cifs (depuis Linux 2.6.12), fuse (depuis Linux 2.6.16), lustre (depuis Linux 3.11) et NFS (depuis Linux 2.1.116). MNT_DETACH (depuis Linux 2.4.11) Faire un detachement paresseux : rendre le montage non disponible pour les nouveaux acces, deconnecter immediatement le systeme de fichiers et tous les systemes de fichiers montes en dessous de lui les uns des autres et de la table de montage, puis realiser effectivement le demontage lorsque le montage ne sera plus occupe. MNT_EXPIRE (depuis Linux 2.6.8) Marquer le montage comme ayant expire. Si un montage n'est pas utilise, un premier appel a umount2() avec ce parametre echoue avec l'erreur EAGAIN, mais marque le montage comme expire. Il reste dans cet etat tant qu'aucun processus n'y accede. Un second appel a umount2() avec MNT_EXPIRE detache le montage expire. Ce parametre ne peut etre combine avec MNT_FORCE ou MNT_DETACH. UMOUNT_NOFOLLOW (depuis Linux 2.6.34) Ne pas dereferencer target s'il s'agit d'un lien symbolique. Ce parametre permet d'eviter des problemes de securite dans des programmes set-UID-root qui permettent aux utilisateurs ordinaires de demonter des systemes de fichiers. VALEUR RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. ERREURS Les erreurs detaillees ici sont independantes du type de systeme de fichiers. Chaque type de systeme peut avoir des codes d'erreurs specifiques, et un comportement particulier. Consultez les sources du noyau Linux pour plus de details. EAGAIN Un appel a umount2() avec l'attribut MNT_EXPIRE a marque correctement un systeme de fichiers non utilise comme expire. EBUSY target ne peut pas etre demonte car il est occupe. EFAULT target pointe en dehors de l'espace d'adressage de l'utilisateur. EINVAL target n'est pas un point de montage. EINVAL target est verrouille ; consultez mount_namespaces(7). EINVAL umount2() a ete appele avec l'option MNT_EXPIRE, en meme temps que MNT_DETACH ou MNT_FORCE. EINVAL (depuis Linux 2.6.34) umount2() a ete appele avec une valeur non autorise dans flags. ENAMETOOLONG Un des arguments est plus long que MAXPATHLEN. ENOENT Un des chemins est vide ou a un composant inexistant. ENOMEM Le noyau n'a pas pu allouer suffisamment de memoire. EPERM L'appelant n'a pas les privileges appropries. STANDARDS Linux. HISTORIQUE MNT_DETACH et MNT_EXPIRE sont disponibles depuis la glibc 2.11. La fonction umount d'origine etait invoquee avec umount(peripherique) et renvoyait ENOTBLK si l'argument etait autre chose qu'un peripherique bloc. Dans Linux 0.98p4, un appel umount(repertoire) a ete ajoute afin de gerer des peripheriques anonymes. Dans Linux 2.3.99-pre7, l'appel umount(peripherique) a ete supprime, en ne gardant que umount(repertoire) (car maintenant les peripheriques peuvent etre montes en plusieurs endroits et l'indication du peripherique ne suffit plus). NOTES umount() et les montages partages Les montages partages font que toutes les activites de montage sur un montage, y compris les operations umount(), seront transmises sur chaque montage partage dans le groupe de pairs et tous les montages esclaves de ce groupe de pairs. Cela signifie qu'une operation umount() sur n'importe quel pair d'un ensemble de montages partages fera que tous ses pairs seront demontes et que tous leurs esclaves seront aussi demontes. La propagation de cette activite de demontage peut etre particulierement surprenante sur les systemes ou chaque montage est partage par defaut. Sur ce type de systeme, le montage lie de facon recursive du repertoire racine du systeme de fichiers sur un sous-repertoire et ensuite le demontage de ce sous-repertoire avec l'option MNT_DETACH feront que chaque montage dans l'espace de montage sera detache paresseusement. Pour s'assurer qu'umount() ne se propage pas de cette maniere, le montage peut etre remonte par un appel mount(2) avec un argument mount_flags qui comprend a la fois MS_REC et MS_PRIVATE avant que umount() ne soit appele. VOIR AUSSI mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 umount(2)