MOUNT(2) Manuel du programmeur Linux MOUNT(2) NOM mount(2,8), umount, umount2 - Monter / dmonter des systmes de fichiers. SYNOPSIS #include <sys/mount.h> int mount(2,8)(const char *source, const char * cible , const char * filesystemtype, unsigned long mountflags , const void * data); int umount(const char *cible); int umount2(const char *target, int flags); DESCRIPTION mount(2,8) attache le systme de fichiers spcifi par source (qui est gnralement un nom de priphrique, mais peut aussi tre un rpertoire ou un objet fictif) au rpertoire indiqu par cible. umount et umount2 suppriment l'attachement du systme de fichiers mont sur le rpertoire cible. Seul le Super-User peut monter ou dmonter des systmes de fichiers. Depuis Linux 2.4 un mme systme de fichiers peut tre visible en diffrents points, et plusieurs montages peuvent tre empils au mme point. L'argument filesystemtype prend une des valeurs listes dans /proc(5,n)/filesystems (par exemple "ext2", "minix", "msdos", "proc(5,n)", "nfs", "iso9660" etc). Des types supplmentaires peuvent tre disponibles lorsque les modules appropris sont chargs. L'argument mountflags peut avoir le nombre magique 0xC0ED (MS_MGC_VAL) dans ses 16 bits de poids forts (ceci tait obligatoire dans les ver- sions antrieures la 2.4, mais ne l'est plus), et certains attributs de montage (dfinis dans <linux/fs.h> pour libc4 ou libc5 et dans <sys/mount.h> pour GlibC2) comme bits de poids faibles : MS_BIND (Depuis Linux 2.4) Effectuer un montage li, rendant un fichier ou une arborescence visibles en un autre point du systme de fichiers. Les montages lis peuvent traverses les froontires entre systmes de fichiers et ouvrir une porte dans une prison chroot(1,2)(2). Les arguments filesystemtype, mountflags, et data sont ignors. MS_DIRSYNC (Depuis Linux 2.5.19.) Rendre synchrones les modifications sur les rpertoires du systme de fichiers. (Cette proprit peut-tre obtenue pour les rpertoires individuels ou les sous-arborescences en utilisant chattr(8)). MS_MANDLOCK Autoriser les verrouillages impratifs sur le systme de fichiers. (Le verrouillage impratif devra tooutefois tre valid fichier par fichier, comme dcrit dans fcntl(2)). MS_MOVE Dplace une sous-arborescence. source indique un point de mon- tage existant et target indique son nouvel emplacement. Le dplacement est atomique, aucun moment la sous-arborescence est dmonte. Les arguments filesystemtype, mountflags, et data sont ignors. MS_NOATIME Ne pas mettre jour les dates d'accs pour (tous) les fichiers du systme de fichiers. MS_NODEV Ne pas autoriser la prsence de fichiers spciaux de priphrique sur le systme de fichier. MS_NODIRATIME Ne pas mettre jour les dates d'accs pour les rpertoires du systme de fichiers. MS_NOEXEC Ne pas permettre l'excution de programme depuis le systme de fichiers. MS_NOSUID Ne pas tenir compte des bits Set-UID et Set-GID lors de l'excution de programmes sur le systme de fichiers. MS_RDONLY Monter le systme de fichiers en lecture seule. MS_REMOUNT Reinitialiser un montage ezxistant. Ceci permet de modifier les attributs mountflags et data d'un montage existant sans avoir besoin de dmonter et remonter le systme de fichiers source et target doivent avoir les mmes valeurs que durant l'appel mount(2,8)() initial ; filesystemtype est ignor. MS_SYNCHRONOUS Rendre synchrones les citures sur le systme de fichiers (comme si l'option O_SYNC de open(2,3,n)(2) tait indiqu chaque ouverture sur ce systme de fichiers). Depuis Linux 2.4, les attributs MS_NODEV, MS_NOEXEC, et MS_NOSUID sont configurables de manire variable sur chaque point de montage. L'argument data est interprt diffremment suivant le type de systme de fichiers. Typiquement, c'est une chane d'options com- prises par le systme de fichiers, spares par des virgules. Voir mount(2,8)(8) pour des dtails sur les options disponibles pour chaque type de systme. Depuis Linux 2.1.116 l'appel-systme umount2() fonctionne comme umount(), mais dispose d'options supplmentaire flags configurant le comportement de l'opration : MNT_FORCE Forcer le dmontage, mme si le systme de fichiers est occup. (Depuis 2.1.116. Seulement pour les montages NFS). MNT_DETACH Faire un dtachement paresseux : rendre le point de montage invalide pour les nouveaux accs, et raliser le dmontage complet lorsque le point ne sera plus occup (Depuis 2.4.11). VALEUR RENVOYE mount(2,8)etumount renvoient 0 s'ils russissent, ou -1 s'ils chouent, auquel cas errno contient le code d'erreur. ERREURS Les erreurs dtailles ici sont indpendantes du type de systme de fichiers. Chaque type de systme peut avoir des codes d'erreurs spcifiques, et un comportement particulier. Voir les sources du noyau pour plus de details... EPERM L'utilisateur n'est pas le Super-User ENODEV Filesystemtype n'est pas configur dans le noyau ENOTBLK Source n'est pas un fichier spcial en mode bloc. EBUSY Source est dj mont, ou ne peut pas tre remont en lec- ture seule car il y a des fichiers ouverts en criture, ou ne peut pas tre mont sur cible car cible est occup (c'est le rpertoire de travail d'un processus, le point de montage d'un autre priphrique, des fichiers y sont ouverts, etc...) Ou le dmontage est impossible car le point est occup. EINVAL Source a un superbloc invalide, ou on tente un remontage alors que source n'tait pas encore mont sur cible. Ou un dmon- tage est demand sur cible qui n'est pas un point de montage. Ou un dplacement est demand alors que source n'est pas un point de montage ou est '/'. ENOTDIR Le second argument, ou un prfixe du premier argument n'est pas un rpertoire. EFAULT L'un des arguments pointe en-dehors de l'espace d'adressage accessible. ENOMEM Pas assez de mmoire pour le noyau. ENAMETOOLONG Un des arguments est plus long que MAXPATHLEN. ENOENT Un rpertoire des arguments n'existe pas ou est un lien symbol- ique pointant nulle part. ELOOP Trop de liens symboliques rencontrs dans un chemin, ou un dplacement a t tent dans lequel cible est un descendant de source. EACCES Un lment de chemin d'accs n'est pas consultable, ou on tente de monter un systme de fichier en lecture seule sans prciser l'attribut MS_RDONLY, ou le fichier priphrique Source est sur un systme de fichiers mont avec l'attribut MS_NODEV. ENXIO Le nombre majeur du priphrique source est invalide. EMFILE Table de montage pleine. CONFORMIT Ces fonctions sont spcifiques Linux et ne doivent pas tre employes dans des programmes conus pour tre portables. HISTORIQUE La fonction umount originale tait invoque umount(device) et renvoy- ait ENOTBLK si l'argument tait autre chose qu'un priphrique en mode bloc. Dans Linux 0.98p4 un appel umount(rpertoire) fut ajout, afin de grer des priphriques anonymes. Dans Linux 2.3.99-pre7 l'appel umount(device) fut supprim, en ne gardant que umount(rper- toire) (car maintenant les priphriques peuvent tre monts en plusieurs endroits, et l'indication du priphrique ne suffit plus). L'attribut original MS_SYNC a t renomm MS_SYNCHRONOUS dans Linux 1.1.69 car un MS_SYNC diffrent existait dans <mman.h>. Avant Linux 2.4, une tentative d'excution d'un programme Set-UID ou Set-GID sur un systme de fichier mont avec l'attribut MS_NOSUID chouait avec l'erreur EPERM. Depuis Linux 2.4 les bits Set-UID et Set-GID sont juste ignors silencieusement dans ce cas. VOIR AUSSI mount(2,8)(8), umount(8) TRADUCTION Christophe Blaess, 1996-2003. LDP 18 juillet 2003 MOUNT(2)