# French translation of manpages
# This file is distributed under the same license as the manpages-l10n package.
# Copyright © of this file:
# Christophe Blaess , 1996-2003.
# Stéphan Rafin , 2002.
# Thierry Vignaud , 1999, 2002.
# François Micaux, 2002.
# Alain Portal , 2003-2008.
# Jean-Philippe Guérard , 2005-2006.
# Jean-Luc Coulon (f5ibh) , 2006-2007.
# Julien Cristau , 2006-2007.
# Thomas Huriaux , 2006-2008.
# Nicolas François , 2006-2008.
# Florentin Duneau , 2006-2010.
# Simon Paillard , 2006, 2013-2014.
# Denis Barbier , 2006, 2010.
# David Prévot , 2010-2014.
# Jean-Philippe MENGUAL , 2021-2024.
msgid ""
msgstr ""
"Project-Id-Version: manpages-l10n 4.22.0\n"
"POT-Creation-Date: 2024-06-01 06:09+0200\n"
"PO-Revision-Date: 2024-04-17 18:15+0200\n"
"Last-Translator: Jean-Philippe MENGUAL \n"
"Language-Team: French \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Lokalize 22.12.1\n"
#. type: TH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "pivot_root"
msgstr "pivot_root"
#. type: TH
#: archlinux debian-unstable opensuse-tumbleweed
#, no-wrap
msgid "2024-05-02"
msgstr "2 mai 2024"
#. type: TH
#: archlinux debian-unstable
#, no-wrap
msgid "Linux man-pages 6.8"
msgstr "Pages du manuel de Linux 6.8"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NAME"
msgstr "NOM"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "pivot_root - change the root mount"
msgstr "pivot_root - Modifier le montage racine"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "LIBRARY"
msgstr "BIBLIOTHÈQUE"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "Standard C library (I, I<-lc>)"
msgstr "Bibliothèque C standard (I, I<-lc>)"
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "SYNOPSIS"
msgstr "SYNOPSIS"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"B<#include Esys/syscall.hE> /* Definition of B constants */\n"
"B<#include Eunistd.hE>\n"
msgstr ""
"B<#include Esys/syscall.hE> /* Définition des constantes B */\n"
"B<#include Eunistd.hE>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "BIB<, const char *>IB<);>\n"
msgstr "BIB<, const char *>IB<);>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I: glibc provides no wrapper for B(), necessitating the "
"use of B(2)."
msgstr ""
"I: la glibc ne fournit pas d'enveloppe pour B(), "
"nécessitant l'utilisation de B(2)."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() changes the root mount in the mount namespace of the "
"calling process. More precisely, it moves the root mount to the directory "
"I and makes I the new root mount. The calling process "
"must have the B capability in the user namespace that owns "
"the caller's mount namespace."
msgstr ""
"B() modifie le montage racine dans l'espace de noms de montage "
"du processus appelant. Plus précisément, il déplace le montage racine dans "
"le répertoire I et il fait de I le nouveau montage "
"racine. Le processus appelant doit avoir la capacité B dans "
"l'espace de noms de l'utilisateur à qui appartient l'espace de noms de "
"montage de l'appelant."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() changes the root directory and the current working "
"directory of each process or thread in the same mount namespace to "
"I if they point to the old root directory. (See also NOTES.) On "
"the other hand, B() does not change the caller's current "
"working directory (unless it is on the old root directory), and thus it "
"should be followed by a B call."
msgstr ""
"B() change le répertoire racine et le répertoire de travail de "
"chaque processus ou de chaque thread du même espace de noms de montage en "
"I s'ils pointent vers l'ancien répertoire de montage (voir aussi "
"les NOTES). D'un autre côté, B() ne modifie pas le répertoire de "
"travail de l'appelant (sauf s'il est sur l'ancien répertoire racine), ainsi, "
"il doit être suivi d'un appel B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The following restrictions apply:"
msgstr "Les restrictions suivantes s'appliquent\\ :"
#. type: IP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "\\[bu]"
msgstr "-"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I and I must be directories."
msgstr "I et I doivent être des répertoires."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I and I must not be on the same mount as the current root."
msgstr ""
"I et I ne doivent pas être sur le même montage que la "
"racine actuelle."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I must be at or underneath I; that is, adding some "
"nonnegative number of \"I\" suffixes to the pathname pointed to by "
"I must yield the same directory as I."
msgstr ""
"I doit être sur I ou un descendant de I\\ : à "
"savoir qu'ajouter un nombre positif de suffixes « I » au chemin vers "
"lequel pointe I doit ramener au même répertoire que I."
#. type: Plain text
#: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed
msgid ""
"I must be a path to a mount point, but can't be I<\\[dq]/\\[dq]>. "
"A path that is not already a mount point can be converted into one by bind "
"mounting the path onto itself."
msgstr ""
"I doit être un chemin vers un point de montage ; mais il ne peut "
"pas être « / ». Un chemin qui n'est pas un point de montage peut le devenir "
"en montant en miroir le point sur lui-même."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The propagation type of the parent mount of I and the parent mount "
"of the current root directory must not be B; similarly, if "
"I is an existing mount point, its propagation type must not be "
"B. These restrictions ensure that B() never "
"propagates any changes to another mount namespace."
msgstr ""
"Le type de propagation du montage parent de I et le montage parent "
"du répertoire racine actuel ne doivent pas être B ; de même, si "
"I est un point de montage existant, son type de propagation ne doit "
"pas être B. Ces restrictions garantissent que B() ne "
"propage jamais de changement sur un autre espace de noms de montage."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The current root directory must be a mount point."
msgstr "Le répertoire racine actuel doit être un point de montage."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "RETURN VALUE"
msgstr "VALEUR RENVOYÉE"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"On success, zero is returned. On error, -1 is returned, and I is set "
"to indicate the error."
msgstr ""
"En cas de succès, zéro est renvoyé. En cas d'erreur, B<-1> est renvoyé et "
"I est définie pour préciser l'erreur."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "ERRORS"
msgstr "ERREURS"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() may fail with any of the same errors as B(2). "
"Additionally, it may fail with the following errors:"
msgstr ""
"B() peut échouer avec une des erreurs de B(2). Il peut "
"aussi échouer avec les erreurs suivantes\\ :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. Reconfirmed that the following error occurs on Linux 5.0 by
#. specifying 'new_root' as "/rootfs" and 'put_old' as
#. "/rootfs/oldrootfs", and *not* bind mounting "/rootfs" on top of
#. itself. Of course, this is an odd situation, since a later check
#. in the kernel code will in any case yield EINVAL if 'new_root' is
#. not a mount point. However, when the system call was first added,
#. 'new_root' was not required to be a mount point. So, this
#. error is nowadays probably just the result of crufty accumulation.
#. This error can also occur if we bind mount "/" on top of itself
#. and try to specify "/" as the 'new' (again, an odd situation). So,
#. the EBUSY check in the kernel does still seem necessary to prevent
#. that case. Furthermore, the "or put_old" piece is probably
#. redundant text (although the check is in the kernel), since,
#. in another check, 'put_old' is required to be under 'new_root'.
#. type: Plain text
#: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed
msgid ""
"I or I is on the current root mount. (This error covers "
"the pathological case where I is I<\\[dq]/\\[dq]>.)"
msgstr ""
"I ou I est sur le montage racine actuel (cette erreur "
"vaut pour le cas pathologique où I est « / »."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is not a mount point."
msgstr "I n'est pas un point de montage."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is not at or underneath I."
msgstr "I n'est pas sur I ou un descendant."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The current root directory is not a mount point (because of an earlier "
"B(2))."
msgstr ""
"Le répertoire racine actuel n'est pas un point de montage (du fait d'un "
"précédent B(2))."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The current root is on the rootfs (initial ramfs) mount; see NOTES."
msgstr ""
"La racine actuelle est sur le montage rootfs (ramfs initial) ; voir les "
"NOTES."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Either the mount point at I, or the parent mount of that mount "
"point, has propagation type B."
msgstr ""
"Soit le point de montage sur I, soit le montage parent de ce point "
"de montage, a un type de propagation B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I is a mount point and has the propagation type B."
msgstr ""
"I est un point de montage et il a le type de propagation "
"B."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "I or I is not a directory."
msgstr "I ou I n'est pas un répertoire."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B"
msgstr "B"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The calling process does not have the B capability."
msgstr "Le processus appelant n'a pas la capacité B."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "STANDARDS"
msgstr "STANDARDS"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "Linux."
msgstr "Linux."
#. type: SH
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "HISTORY"
msgstr "HISTORIQUE"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-leap-15-6 opensuse-tumbleweed
msgid "Linux 2.3.41."
msgstr "Linux 2.3.41."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "NOTES"
msgstr "NOTES"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"A command-line interface for this system call is provided by "
"B(8)."
msgstr ""
"Une interface en ligne de commande pour cet appel système est fournie par "
"B(8)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() allows the caller to switch to a new root filesystem while "
"at the same time placing the old root mount at a location under I "
"from where it can subsequently be unmounted. (The fact that it moves all "
"processes that have a root directory or current working directory on the old "
"root directory to the new root frees the old root directory of users, "
"allowing the old root mount to be unmounted more easily.)"
msgstr ""
"B() permet à un appelant de passer à un nouveau système de "
"fichiers racine tout en mettant l'ancien montage racine dans I, "
"d'où il peut être démonté (le fait de déplacer tous les processus ayant un "
"répertoire racine ou actuel dans le répertoire racine vers une nouvelle "
"racine libère l'ancienne racine des utilisateurs, permettant de démonter "
"plus facilement l'ancien montage racine)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"One use of B() is during system startup, when the system mounts "
"a temporary root filesystem (e.g., an B(4)), then mounts the real "
"root filesystem, and eventually turns the latter into the root directory of "
"all relevant processes and threads. A modern use is to set up a root "
"filesystem during the creation of a container."
msgstr ""
"L'utilisation typique de B() est durant le démarrage du système, "
"lorsque le système monte un système de fichiers temporaire (par exemple un "
"B(4)) puis monte le véritable système de fichiers et le transforme "
"éventuellement en racine pour tous les processus et threads concernés. Une "
"utilisation moderne consiste à définir un système de fichiers racine pendant "
"la création d'un conteneur."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The fact that B() modifies process root and current working "
"directories in the manner noted in DESCRIPTION is necessary in order to "
"prevent kernel threads from keeping the old root mount busy with their root "
"and current working directories, even if they never access the filesystem in "
"any way."
msgstr ""
"Le fait que B() modifie les répertoires racine et de travail du "
"processus comme indiqué dans la DESCRIPTION est nécessaire afin d'empêcher "
"les threads du noyau d'occuper l'ancien montage racine avec leurs "
"répertoires racine et de travail, même s'ils n'accèdent jamais au système de "
"fichiers en aucune manière."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The rootfs (initial ramfs) cannot be B()ed. The recommended "
"method of changing the root filesystem in this case is to delete everything "
"in rootfs, overmount rootfs with the new root, attach I/I/"
"I to the new I, and exec the new B(1). Helper "
"programs for this process exist; see B(8)."
msgstr ""
"Le rootfs (initial ramfs) ne peut pas être B()é. La méthode "
"recommandée pour modifier le système de fichiers racine dans ce cas consiste "
"à tout effacer sur le rootfs, monter par-dessus la nouvelle racine, "
"rattacher I/I/I au nouveau I et "
"exécuter le nouvel B(1). Il existe des programmes d'aide pour ce "
"processus ; voir B(8)."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "pivot_root(\\[dq].\\[dq], \\[dq].\\[dq])"
msgstr "pivot_root(\\[dq].\\[dq], \\[dq].\\[dq])"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I and I may be the same directory. In particular, the "
"following sequence allows a pivot-root operation without needing to create "
"and remove a temporary directory:"
msgstr ""
"I et I peuvent être le même répertoire. En particulier, "
"la séquence suivante permet une opération pivot-root sans devoir créer et "
"supprimer un répertoire temporaire :"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"chdir(new_root);\n"
"pivot_root(\".\", \".\");\n"
"umount2(\".\", MNT_DETACH);\n"
msgstr ""
"chdir(new_root);\n"
"pivot_root(\".\", \".\");\n"
"umount2(\".\", MNT_DETACH);\n"
#. type: Plain text
#: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed
msgid ""
"This sequence succeeds because the B() call stacks the old root "
"mount point on top of the new root mount point at I>. At that point, the "
"calling process's root directory and current working directory refer to the "
"new root mount point (I). During the subsequent B() "
"call, resolution of I<\\[dq].\\[dq]> starts with I and then moves "
"up the list of mounts stacked at I>, with the result that old root mount "
"point is unmounted."
msgstr ""
"Cette séquence réussit parce que l'appel B() place le point de "
"montage racine au sommet du nouveau point de montage racine sur I>. Alors, "
"le répertoire racine et celui de travail du processus appelant se rapportent "
"au nouveau point de montage racine (I). Lors de l'appel "
"B() suivant, la résolution de II<\\[dq].\\[dq]> commence par "
"I puis monte la liste des points de montage empilés dans I>, "
"d'où il résulte que l'ancien point de montage est démonté."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Historical notes"
msgstr "Remarques historiques"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "For many years, this manual page carried the following text:"
msgstr ""
"Pendant de nombreuses années, cette page de manuel comportait le texte "
"suivant :"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B() may or may not change the current root and the current "
"working directory of any processes or threads which use the old root "
"directory. The caller of B() must ensure that processes with "
"root or current working directory at the old root operate correctly in "
"either case. An easy way to ensure this is to change their root and current "
"working directory to I before invoking B()."
msgstr ""
"B() 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 B() 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 I avant d'invoquer B()."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This text, written before the system call implementation was even finalized "
"in the kernel, was probably intended to warn users at that time that the "
"implementation might change before final release. However, the behavior "
"stated in DESCRIPTION has remained consistent since this system call was "
"first implemented and will not change now."
msgstr ""
"Ce texte, écrit avant même la finalisation de l'implémentation de l'appel "
"système dans le noyau, visait sans doute à avertir les utilisateurs à ce "
"moment là que l'implémentation pourrait changer avant la publication "
"définitive. Toutefois, le comportement indiqué dans DESCRIPTION est resté "
"valable depuis la première implémentation de cet appel système et il ne "
"changera pas maintenant."
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "EXAMPLES"
msgstr "EXEMPLES"
#. FIXME
#. Would it be better, because simpler, to use unshare(2)
#. rather than clone(2) in the example below?
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The program below demonstrates the use of B() inside a mount "
"namespace that is created using B(2). After pivoting to the root "
"directory named in the program's first command-line argument, the child "
"created by B(2) then executes the program named in the remaining "
"command-line arguments."
msgstr ""
"Le programme ci-dessous montre l'utilisation de B() dans un "
"espace de noms de montage créé en utilisant B(2). Après avoir changé "
"le répertoire racine appelé dans le premier paramètre de la ligne de "
"commande du programme, l'enfant créé par B(2) exécute alors le "
"programme nommé dans les autres paramètres de la ligne de commande."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"We demonstrate the program by creating a directory that will serve as the "
"new root filesystem and placing a copy of the (statically linked) "
"B(1) executable in that directory."
msgstr ""
"Nous montrons le programme en créant un répertoire qui servira de nouveau "
"système de fichiers racine et en mettant une copie de l'exécutable "
"B(1) (liée statiquement) dans ce répertoire."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"$ B\n"
"$ B # Show inode number of new root directory\n"
"319459 /tmp/rootfs\n"
"$ B\n"
"$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"busybox echo ln ls\n"
"bbsh$ B # Compare with inode number above\n"
"319459 /\n"
"bbsh$ B\n"
"hello world\n"
msgstr ""
"$ B\n"
"$ B # Numéro d’inœud dans le nouveau répertoire racine\n"
"319459 /tmp/rootfs\n"
"$ B\n"
"$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"bbsh$ B\n"
"busybox echo ln ls\n"
"bbsh$ B # Comparaison avec le numéro d’inœud au-dessus\n"
"319459 /\n"
"bbsh$ B\n"
"hello world\n"
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Program source"
msgstr "Source du programme"
#. type: Plain text
#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"/* pivot_root_demo.c */\n"
"\\&\n"
"#define _GNU_SOURCE\n"
"#include Eerr.hE\n"
"#include Elimits.hE\n"
"#include Esched.hE\n"
"#include Esignal.hE\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/mman.hE\n"
"#include Esys/mount.hE\n"
"#include Esys/stat.hE\n"
"#include Esys/syscall.hE\n"
"#include Esys/wait.hE\n"
"#include Eunistd.hE\n"
"\\&\n"
"static int\n"
"pivot_root(const char *new_root, const char *put_old)\n"
"{\n"
" return syscall(SYS_pivot_root, new_root, put_old);\n"
"}\n"
"\\&\n"
"#define STACK_SIZE (1024 * 1024)\n"
"\\&\n"
"static int /* Startup function for cloned child */\n"
"child(void *arg)\n"
"{\n"
" char path[PATH_MAX];\n"
" char **args = arg;\n"
" char *new_root = args[0];\n"
" const char *put_old = \"/oldrootfs\";\n"
"\\&\n"
" /* Ensure that \\[aq]new_root\\[aq] and its parent mount don\\[aq]t have\n"
" shared propagation (which would cause pivot_root() to\n"
" return an error), and prevent propagation of mount\n"
" events to the initial mount namespace. */\n"
"\\&\n"
" if (mount(NULL, \"/\", NULL, MS_REC | MS_PRIVATE, NULL) == -1)\n"
" err(EXIT_FAILURE, \"mount-MS_PRIVATE\");\n"
"\\&\n"
" /* Ensure that \\[aq]new_root\\[aq] is a mount point. */\n"
"\\&\n"
" if (mount(new_root, new_root, NULL, MS_BIND, NULL) == -1)\n"
" err(EXIT_FAILURE, \"mount-MS_BIND\");\n"
"\\&\n"
" /* Create directory to which old root will be pivoted. */\n"
"\\&\n"
" snprintf(path, sizeof(path), \"%s/%s\", new_root, put_old);\n"
" if (mkdir(path, 0777) == -1)\n"
" err(EXIT_FAILURE, \"mkdir\");\n"
"\\&\n"
" /* And pivot the root filesystem. */\n"
"\\&\n"
" if (pivot_root(new_root, path) == -1)\n"
" err(EXIT_FAILURE, \"pivot_root\");\n"
"\\&\n"
" /* Switch the current working directory to \"/\". */\n"
"\\&\n"
" if (chdir(\"/\") == -1)\n"
" err(EXIT_FAILURE, \"chdir\");\n"
"\\&\n"
" /* Unmount old root and remove mount point. */\n"
"\\&\n"
" if (umount2(put_old, MNT_DETACH) == -1)\n"
" perror(\"umount2\");\n"
" if (rmdir(put_old) == -1)\n"
" perror(\"rmdir\");\n"
"\\&\n"
" /* Execute the command specified in argv[1]... */\n"
"\\&\n"
" execv(args[1], &args[1]);\n"
" err(EXIT_FAILURE, \"execv\");\n"
"}\n"
"\\&\n"
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
" char *stack;\n"
"\\&\n"
" /* Create a child process in a new mount namespace. */\n"
"\\&\n"
" stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n"
" MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n"
" if (stack == MAP_FAILED)\n"
" err(EXIT_FAILURE, \"mmap\");\n"
"\\&\n"
" if (clone(child, stack + STACK_SIZE,\n"
" CLONE_NEWNS | SIGCHLD, &argv[1]) == -1)\n"
" err(EXIT_FAILURE, \"clone\");\n"
"\\&\n"
" /* Parent falls through to here; wait for child. */\n"
"\\&\n"
" if (wait(NULL) == -1)\n"
" err(EXIT_FAILURE, \"wait\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"/* pivot_root_demo.c */\n"
"\\&\n"
"#define _GNU_SOURCE\n"
"#include Eerr.hE\n"
"#include Elimits.hE\n"
"#include Esched.hE\n"
"#include Esignal.hE\n"
"#include Estdio.hE\n"
"#include Estdlib.hE\n"
"#include Esys/mman.hE\n"
"#include Esys/mount.hE\n"
"#include Esys/stat.hE\n"
"#include Esys/syscall.hE\n"
"#include Esys/wait.hE\n"
"#include Eunistd.hE\n"
"\\&\n"
"static int\n"
"pivot_root(const char *new_root, const char *put_old)\n"
"{\n"
" return syscall(SYS_pivot_root, new_root, put_old);\n"
"}\n"
"\\&\n"
"#define STACK_SIZE (1024 * 1024)\n"
"\\&\n"
"static int /* Fonction de démarrage pour l’enfant cloné */\n"
"child(void *arg)\n"
"{\n"
" char path[PATH_MAX];\n"
" char **args = arg;\n"
" char *new_root = args[0];\n"
" const char *put_old = \"/oldrootfs\";\n"
"\\&\n"
" /* S'assurer que \\[aq]new_root\\[aq] et son point de montage parent\n"
" n’aient pas une propagation partagée (ce qui ferait renvoyer une\n"
" erreur à pivot_root()) et empêcher la propagation des événements\n"
" de montage dans l'espace de noms de montage initial. */\n"
"\\&\n"
" if (mount(NULL, \"/\", NULL, MS_REC | MS_PRIVATE, NULL) == -1)\n"
" err(EXIT_FAILURE, \"mount-MS_PRIVATE\");\n"
"\\&\n"
" /* S'assurer que \\[aq]new_root\\[aq] soit un point de montage. */\n"
"\\&\n"
" if (mount(new_root, new_root, NULL, MS_BIND, NULL) == -1)\n"
" err(EXIT_FAILURE, \"mount-MS_BIND\");\n"
"\\&\n"
" /* Créer le répertoire où l'ancienne racine sera envoyée. */\n"
"\\&\n"
" snprintf(path, sizeof(path), \"%s/%s\", new_root, put_old);\n"
" if (mkdir(path, 0777) == -1)\n"
" err(EXIT_FAILURE, \"mkdir\");\n"
"\\&\n"
" /* Et changer de système de fichiers racine. */\n"
"\\&\n"
" if (pivot_root(new_root, path) == -1)\n"
" err(EXIT_FAILURE, \"pivot_root\");\n"
"\\&\n"
" /* Déplacer le répertoire de travail dans \"/\". */\n"
"\\&\n"
" if (chdir(\"/\") == -1)\n"
" err(EXIT_FAILURE, \"chdir\");\n"
"\\&\n"
" /* Démonter l'ancienne racine et supprimer le point de montage. */\n"
"\\&\n"
" if (umount2(put_old, MNT_DETACH) == -1)\n"
" perror(\"umount2\");\n"
" if (rmdir(put_old) == -1)\n"
" perror(\"rmdir\");\n"
"\\&\n"
" /* Exécuter la commande indiquée dans argv[1]... */\n"
"\\&\n"
" execv(args[1], &args[1]);\n"
" err(EXIT_FAILURE, \"execv\");\n"
"}\n"
"\\&\n"
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
" char *stack;\n"
"\\&\n"
" /* Créer un processus enfant dans un nouvel espace de noms de montage. */\n"
"\\&\n"
" stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n"
" MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n"
" if (stack == MAP_FAILED)\n"
" err(EXIT_FAILURE, \"mmap\");\n"
"\\&\n"
" if (clone(child, stack + STACK_SIZE,\n"
" CLONE_NEWNS | SIGCHLD, &argv[1]) == -1)\n"
" err(EXIT_FAILURE, \"clone\");\n"
"\\&\n"
" /* Le parent arrive ici ; attendre l'enfant. */\n"
"\\&\n"
" if (wait(NULL) == -1)\n"
" err(EXIT_FAILURE, \"wait\");\n"
"\\&\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
#. SRC END
#. type: SH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"B(2), B(2), B(2), B(2), B(4), "
"B(7), B(8), B(8)"
msgstr ""
"B(2), B(2), B