Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       pivot_root - Modifier la racine du système de fichiers

SYNOPSIS

       int pivot_root(const char *new_root, const char *put_old);

       Remarque :  il  n'existe  pas  de  fonction  glibc autour de cet appel système ; consultez
       NOTES.

DESCRIPTION

       pivot_root() déplace la racine du système de fichiers pour le processus appelant  vers  le
       répertoire  put_old  et fait de new_root la nouvelle racine du système de fichiers pour le
       processus appelant.

       L'utilisation typique de pivot_root() est durant le boot,  lorsque  le  système  monte  un
       système  de fichiers temporaire (par exemple un initrd) puis monte le véritable système de
       fichiers, et le transforme en racine pour tous les processus et threads concernés.

       pivot_root() peut changer ou non les répertoires racine et de travail en cours de tous les
       processus   et   threads   qui  utilisaient  l'ancien  répertoire  racine.  L'appelant  de
       pivot_root() doit s'assurer que les processus ayant pour racine ou répertoire  de  travail
       l'ancien  répertoire  se  comportent  correctement. Le meilleur moyen est de modifier leur
       répertoire de travail et répertoire racine pour new_root avant d'invoquer pivot_root().

       Le paragraphe ci-dessus est intentionnellement flou, car l'implémentation de  pivot_root()
       peut  changer dans le futur. Actuellement, pivot_root() modifie la racine et le répertoire
       de travail de tous les processus ou  threads  en  new_root  s'ils  pointent  sur  l'ancien
       répertoire.  Ceci  est  nécessaire  pour  éviter  que  des  threads du noyau ne conservent
       l'ancien répertoire occupé, même s'ils accèdent au nouveau système de  fichiers.  Dans  le
       futur,  il  y  aura  peut-être  un  mécanisme  pour  les  threads  du  noyau pour renoncer
       explicitement à tout accès au système de fichiers, ce qui  évitera  ce  mécanisme  un  peu
       invasif.

       Notez  que  ceci s'applique aussi au processus appelant : pivot_root() peut changer ou non
       son répertoire de travail. Il vaut  mieux  donc  appeler  chdir("/")  immédiatement  après
       pivot_root().

       Les restrictions suivantes s'appliquent à new_root et put_old :

       -  Ils doivent être des répertoires,

       -  new_root  et  put_old ne doivent pas être sur le même système de fichiers que la racine
          actuelle.

       -  put_old doit être un descendant de new_root : ajouter un nombre non-nul  de  /..  à  la
          chaîne put_old doit ramener au même répertoire que new_root.

       -  Aucun système de fichiers ne doit être monté sur put_old.

       Consultez pivot_root(8) pour des exemples d'utilisation supplémentaires.

       Si  la  racine  en  cours  n'est  pas  un  point  de  montage  (après  un  chroot(2) ou un
       pivot_root(), voir plus bas), ce n'est pas l'ancien répertoire, mais le point  de  montage
       du système de fichiers qui est monté dans put_old.

       new_root  n'a pas besoin d'être un point de montage. Dans ce cas, /proc/mounts montrera le
       point de montage concernant new_root comme racine (/).

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno  en
       conséquence.

ERREURS

       pivot_root()  peut  renvoyer  (dans  errno) toute erreur renvoyée par stat(2). De plus, il
       peut renvoyer :

       EBUSY  new_root ou put_old sont sur le système de fichiers principal actuel, ou un système
              de fichiers est déjà monté sur put_old.

       EINVAL put_old n'est pas un descendant de new_root.

       ENOTDIR
              new_root ou put_old n'est pas un répertoire.

       EPERM  Le processus appelant n'a pas la capacité CAP_SYS_ADMIN.

VERSIONS

       pivot_root() a été introduit dans Linux 2.3.41.

CONFORMITÉ

       pivot_root() est spécifique à Linux et donc non portable.

NOTES

       La glibc ne fournit pas de fonction autour de cet appel système ; utilisez syscall(2) pour
       l'appeler.

BOGUES

       pivot_root() ne devrait pas modifier le répertoire racine et le répertoire de travail  des
       autres processus du système.

       Les utilisations les plus obscures de pivot_root() peuvent rapidement rendre fou.

VOIR AUSSI

       chdir(2), chroot(2), stat(2), initrd(4), pivot_root(8)

COLOPHON

       Cette  page  fait partie de la publication 3.57 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

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       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> ».