Loading

NOM

       mount - Monter un système de fichiers

SYNOPSIS

       #include <sys/mount.h>

       int mount(const char *source, const char *target,
                 const char *filesystemtype, unsigned long mountflags,
                 const void *data);

       mount()  attache  le  système  de fichiers spécifié par source (qui est
       généralement un nom de périphérique, mais peut aussi être un répertoire
       ou un objet fictif) au répertoire indiqué par target.

       Des privilèges appropriés (sous Linux : la capacité CAP_SYS_ADMIN) sont
       nécessaires pour monter des systèmes de fichiers.

       Depuis Linux 2.4 un même système  de  fichiers  peut  être  visible  en
       différents  points,  et plusieurs montages peuvent être empilés au même
       point.

       L’argument  filesystemtype  prend  une   des   valeurs   listées   dans
       /proc/filesystems  (par  exemple « ext2 », « minix », « ext3 », «jfs »,
       « xfs », « reiserfs », « msdos », « proc », « nfs »,  «iso9660 »  etc).
       Des  types supplémentaires peuvent être disponibles lorsque les modules
       appropriés sont chargés.

       L’argument mountflags peut avoir le nombre magique 0xC0ED  (MS_MGC_VAL)
       dans  ses  16  bits  de  poids  forts  (ceci était obligatoire dans les
       versions antérieures à  la  2.4,  mais  ne  l’est  plus),  et  certains
       attributs  de montage (définis 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 système de fichiers. Les montages
              liés peuvent traverser les frontières entre systèmes de fichiers
              et  ouvrir  une  porte dans une prison chroot(2). Les paramètres
              filesystemtype  et  data  sont  ignorés.  Jusqu’à  Linux 2.6.26,
              mountflags  était  également  ignoré  (le montage lié a les même
              options de montage que le point de montage sous-jacent).  Depuis
              Linux 2.6.26,  l’attribut MS_RDONLY est pris en compte lors d’un
              montage lié.

       MS_DIRSYNC (depuis Linux 2.5.19)
              Rendre synchrones  les  modifications  sur  les  répertoires  du
              système de fichiers. (Cette propriété peut être obtenue pour les
              répertoires individuels ou les sous‐arborescences  en  utilisant
              chattr(1).)

       MS_MANDLOCK
              Autoriser   les  verrouillages  impératifs  sur  le  système  de
              fichiers. (Le verrouillage impératif devra toutefois être validé
              fichier par fichier, comme décrit dans fcntl(2).)

       MS_MOVE
              Déplacer  une  sous‐arborescence.  source  indique  un  point de
              montage existant et target indique son  nouvel  emplacement.  Le
              déplacement  est  atomique,  à aucun moment la sous‐arborescence
              n’est démontée. Les  arguments  filesystemtype,  mountflags,  et
              data sont ignorés.

       MS_NOATIME
              Ne  pas mettre à jour les dates d’accès pour (tous) les fichiers
              du système de fichiers.

       MS_NODEV
              Ne  pas  autoriser  la  présence   de   fichiers   spéciaux   de
              périphérique sur le système de fichiers.

       MS_NODIRATIME
              Ne  pas  mettre à jour les dates d’accès pour les répertoires du
              système de fichiers. Cet attribut fournit un sous-ensemble de la
              fonctionnalité fournie par MS_NOATIME ; c’est-à-dire, MS_NOATIME
              implique MS_NODIRATIME.

       MS_NOEXEC
              Ne pas permettre l’exécution de programme depuis le  système  de
              fichiers.

       MS_NOSUID
              Ne  pas  tenir  compte  des  bits  Set-UID  et  Set-GID  lors de
              l’exécution de programmes sur le système de fichiers.

       MS_RDONLY
              Monter le système de fichiers en lecture seule.

       MS_RELATIME (depuis Linux 2.6.20)
              Lorsqu’un fichier sur ce système de  fichiers  est  utilisé,  ne
              mettre  à jour sa date d’accès (atime) que si la valeur actuelle
              de  atime  est  inférieure  ou  égale  à  sa  date  de  dernière
              modification  (mtime)  ou  de  changement  d’état (ctime). Cette
              option est utile  pour  les  programmes  tels  que  mutt(1)  qui
              veulent  savoir  si  un  fichier  a  été  lu  depuis sa dernière
              modification.  Depuis  Linux 2.6.30,  les  noyaux   suivent   le
              comportement  fourni par ce drapeau (à moins que MS_NOATIME soit
              spécifié), et le  drapeau  MS_STRICTATIME  est  nécessaire  pour
              avoir  la sémantique originale. De plus, depuis Linux 2.6.30, le
              temps du dernier accès à un fichier est toujours mis à jour s’il
              est plus ancien qu’un jour.

       MS_REMOUNT
              Reinitialiser  un  montage existant. Ceci permet de modifier les
              attributs mountflags et data d’un montage  existant  sans  avoir
              besoin de démonter et remonter le système de fichiers. source et
              target doivent  avoir  les  mêmes  valeurs  que  durant  l’appel
              mount() initial ; filesystemtype est ignoré.

              Les   attributs  mountflags  suivants  peuvent  être  modifiés :
              MS_RDONLY, MS_SYNCHRONOUS, MS_MANDLOCK ; avant le noyau  2.6.16,
              MS_NOATIME  et  MS_NODIRATIME pouvaient également être modifiés.
              Enfin, avant le noyau 2.4.10, les attributs MS_NOSUID,  MS_NODEV
              et MS_NOEXEC pouvaient être modifiés.

       MS_SILENT (depuis Linux 2.6.17)
              Supprime   l’affichage   de   certain  messages  d’avertissement
              (printk())  dans  le  journal  noyau.  Cet   attribut   remplace
              l’attribut  MS_VERBOSE  qui avait un mauvais nom et est obsolète
              (il était disponible depuis Linux 2.4.12),  et  qui  a  la  même
              signification.

       MS_STRICTATIME (depuis Linux 2.6.30)
              Toujours  mettre  à  jour  le  temps  du dernier d’accès (atime)
              lorsque des fichiers sur le système de fichiers sont  lus  (ceci
              était  le comportement par défaut avant Linux 2.6.30). Spécifier
              ce  drapeau  annule   l’effet   des   drapeaux   MS_NOATIME   et
              MS_RELATIME.

       MS_SYNCHRONOUS
              Rendre  synchrones  les  écritures  sur  le  système de fichiers
              (comme si l’option O_SYNC de open(2)  était  indiquée  à  chaque
              appel sur ce système de fichiers).

       Depuis  Linux 2.4, les attributs MS_NODEV, MS_NOEXEC, et MS_NOSUID sont
       configurables de manière variable sur chaque point de montage. À partir
       du  noyau  2.6.16,  MS_NOATIME  et  MS_NODIRATIME  peuvent  aussi  être
       configurés pour chaque point de montage.  L’attribut  MS_RELATIME  peut
       aussi être configuré pour chaque point de montage.

       L’argument  data est interprété différemment suivant le type de système
       de fichiers. Typiquement, c’est une chaîne d’options comprises  par  le
       système  de fichiers, séparées par des virgules. Voir mount(8) pour des
       détails sur les options disponibles pour chaque type de système.

VALEUR RENVOYÉE

       En cas de réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       Les  erreurs  détaillées  ici  sont indépendantes du type de système de
       fichiers. Chaque  type  de  système  peut  avoir  des  codes  d’erreurs
       spécifiques,  et un comportement particulier. Voir les sources du noyau
       pour plus de détails.

       EACCES Un élément du chemin d’accès n’est pas consultable  (voir  aussi
              path_resolution(7)),  ou  on  tente  de  monter  un  système  de
              fichiers en lecture seule sans préciser l’attribut MS_RDONLY, ou
              bien  le périphérique de bloc source est situé sur un système de
              fichiers monté avec l’attribut MS_NODEV.

       EBUSY  Source est déjà monté, ou ne peut pas être  remonté  en  lecture
              seule  car  il  y a des fichiers ouverts en écriture, ou ne peut
              pas être monté sur  target  car  target  est  occupé  (c’est  le
              répertoire  de  travail d’un processus, le point de montage d’un
              autre périphérique, des fichiers y sont ouverts, etc.).

       EFAULT L’un des arguments  pointe  en‐dehors  de  l’espace  d’adressage
              accessible.

       EINVAL source  a  un  superbloc  invalide,  ou  on  tente  un remontage
              (MS_REMOUNT) alors que  source  n’était  pas  encore  monté  sur
              target. Ou un déplacement (MS_MOVE) est demandé alors que source
              n’est pas un point de montage ou est « / ».

       ELOOP  Trop de liens symboliques  rencontrés  dans  un  chemin,  ou  un
              déplacement  a été tenté dans lequel target est un descendant de
              source.

       EMFILE (Dans le cas où un périphérique de bloc n’est pas  nécessaire :)
              Table de montage factice pleine.

       ENAMETOOLONG
              Un des arguments est plus long que MAXPATHLEN.

       ENODEV filesystemtype n’est pas configuré dans le noyau.

       ENOENT Un des chemins est vide ou a un composant inexistant.

       ENOMEM Le noyau n’a pas pu allouer suffisamment de mémoire.

       ENOTBLK
              Source n’est pas un fichier spécial en mode bloc.

       ENOTDIR
              target ou un préfixe de source n’est pas un répertoire.

       ENXIO  Le nombre majeur du périphérique source est invalide.

       EPERM  L’appelant n’a pas les privilèges appropriés.

CONFORMITÉ

       Cette fonction est spécifique à Linux et ne doit pas être employée dans
       des programmes destinés à être portables.

NOTES

       L’attribut original MS_SYNC a été  renommé  MS_SYNCHRONOUS  dans  Linux
       1.1.69 car un MS_SYNC différent a été ajouté dans <mman.h>.

       Avant  Linux  2.4,  une tentative d’exécution d’un programme Set-UID ou
       Set-GID sur un système de  fichiers  monté  avec  l’attribut  MS_NOSUID
       échouait  avec  l’erreur  EPERM.  Depuis  Linux 2.4 les bits Set-UID et
       Set-GID sont simplement ignorés silencieusement dans ce cas.

   Espaces de noms par processus
       À partir du noyau 2.4.19, Linux fournit des espaces de noms de  montage
       par  processus. Un espace de noms de montage est un ensemble de montage
       de systèmes de fichiers qui sont visibles d’un processus.  Les  espaces
       de  noms  de  montage  peuvent être (ils le sont généralement) partagés
       entre différents processus et  les  modification  à  l’espace  de  noms
       (c’est-à-dire  les  montages  et  démontages)  par  un  processus  sont
       visibles pour tous les autres processus qui partagent le même espace de
       noms  (la  situation des version antérieures à pre-2.4.19 de Linux peut
       être considérée comme l’utilisation d’un unique espace de noms  partagé
       par tous les processus du système).

       Un processus fils créé avec fork(2) partage l’espace de noms de montage
       de son père ; l’espace de noms de montage est préservée au travers d’un
       execve(2).

       Un  processus peut obtenir un espace de noms de montage privé si : il a
       été créé en utilisant l’attribut CLONE_NEWNS de clone(),  dans  ce  cas
       son nouvel espace de noms est initialisé comme une copie de l’espace de
       noms du processus qui a appelé clone() ; ou il appelle unshare(2)  avec
       l’attribut  CLONE_NEWNS, ce qui provoque l’obtention d’une copie privée
       de l’environnement de l’appelant, qui  était  auparavant  partagé  avec
       d’autres  processus,  de  telle  sorte  que  les montages ou démontages
       futurs de l’appelant ne seront pas visibles  des  autres  processus  (à
       l’exception  des  processus  fils  que le processus pourrait créer), et
       vice-versa.

       Le fichier /proc/PID/self, spécifique à  Linux,  expose  une  liste  de
       points  de  montage  de  l’espace  de noms de montage du processus avec
       l’identifiant indiqué ; voir proc(5) pour des détails.

VOIR AUSSI

       umount(2), path_resolution(7), mount(8), umount(8)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».