PIVOT_ROOT(8)

NOM
pivot_root - Changer le système de fichiers racine

SYNOPSIS

pivot_root new_root put_old

DESCRIPTION

pivot_root moves the root file system of the current process to the directory put_old and makes new_root the new root file system. Since pivot_root(8) simply calls pivot_root(2), we refer to the man page of the latter for further details.

Notez que, selon l’implémentation de la commande pivot_root, la racine et le répertoire de travail actuel du processus appelant peut changer tout comme il peut ne pas changer. Ce qui suit est un exemple d’appel à pivot_root qui fonctionne dans un cas comme dans l’autre, en supposant que pivot_root et chroot sont dans le chemin de recherche actuel (PATH) :

    cd new_root
    pivot_root . put_old
    exec chroot . command

Notez que chroot doit être disponible dans l’ancienne racine et aussi dans la nouvelle car pivot_root pourrait ou non avoir changé implicitement le répertoire racine de l’interpréteur de commandes.

Notez que exec chroot change le processus actuel, ce qui s’avère être nécessaire si l’ancien répertoire racine est démonté par la suite. Par ailleurs sachez que l’entrée, la sortie et l’erreur standard peuvent encore pointer sur un périphérique de l’ancienne racine du système de fichiers, le conservant occupé. Elles peuvent être aisément modifiées en utilisant chroot (voir ci-dessous ; remarquez l’absence de barre oblique au début pour qu’il fonctionne si pivot_root a changé la racine de l’interpréteur de commandes ou pas.

OPTIONS

-h, --help
    Afficher l’aide-mémoire puis quitter.

-V, --version
    Afficher la version et quitter.

EXEMPLE

Changer la racine du système de fichiers vers /dev/hda1 depuis un interpréteur de commandes interactif :

    mount /dev/hda1 /nouvelle_racine
    cd /nouvelle_racine
    pivot_root . ancienne_racine
    exec chroot . sh <dev/console >dev/console 2>&1
    umount /ancienne_racine

Monter le nouveau système de fichiers racine au-dessus de NFS depuis 0.0.0.1:/ma_racine et exécuter init :

    ifconfig lo 127.0.0.1 up   # pour portmap
    # configurer Ethernet ou autre
    portmap   # pour lockd (lancé implicitement par mount)
    mount -o ro 10.0.0.1:/ma_racine /mnt
    killall portmap   # portmap conserve l'ancienne racine occupée
    cd /mnt
    pivot_root . ancienne_racine
    exec chroot . sh -c 'umount /ancienne_racine; exec /sbin/init' \e
      <dev/console >dev/console 2>&1

VOIR AUSSI

chroot(1), pivot_root(2), mount(8), switch_root(8), umount(8)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le

DISPONIBILITÉ

La commande pivot_root fait partie du paquet util-linux, elle est disponible sur