Provided by: schroot_1.6.8-1ubuntu1.1_amd64 bug

NOM

       schroot — entrer de manière sécurisée dans un environnement de chroot

RÉSUMÉ

       schroot  [-h|--help  |  -V|--version  |  -l|--list  |  -i|--info | --config | --location |
       --automatic-session  |  -b|--begin-session  |  --recover-session  |   -r|--run-session   |
       -e|--end-session]   [-f|--force]   [-n  nom-de-session|--session-name=nom-de-session]  [-d
       répertoire|--directory=répertoire]      [-u      utilisateur|--user=utilisateur]       [-u
       utilisateur|--user=utilisateur]  [-p|--preserve-environment][-s  shell|--shell=shell]  [-q
       |--quiet  |  -v|--verbose]  [-c  chroot|--chroot=chroot  |   --all   |   --all-chroots   |
       --all-source-chroots  | --all-sessions] | --exclude-aliases [-o|--option=clé=valeur]  [--]
       [COMMANDE [ ARG1 [ ARG2 [ ARGn]]]]

DESCRIPTION

       schroot autorise l'utilisateur à exécuter une commande ou un interpréteur de  commande  de
       connexion  dans  un  environnement  de  chroot.  Si  aucune  commande  n'est  précisée, un
       interpréteur de commande de connexion sera démarré dans le répertoire de  travail  courant
       de l'utilisateur à l'intérieur du chroot.

       La  commande  est  un  programme  plus  autant  d'arguments  optionnels que requis. Chaque
       argument doit être déclaré séparément.

       Le répertoire dans lequel la commande ou l'interpréteur de commandes initial sont exécutés
       dépend du contexte. Voir l'option --directory ci-dessous pour une description complète.

       Toute  utilisation de chroot sera enregistrée dans les journaux du système. Dans certaines
       circonstances,  l'utilisateur  pourrait  devoir  s'identifier ;   consultez   la   section
       “Authentification” ci-dessous.

       Si  aucun  chroot  n'est  spécifié,  le nom de chroot ou alias ‘default’ sera utilisé à la
       place. Ce qui est équivalent à “--chroot=default”.

APERÇU

       Il y a souvent besoin d'exécuter des programmes dans des environnements virtualisés plutôt
       que directement sur le système hôte. À la différence des autres systèmes de virtualisation
       comme kvm ou Xen, schroot ne virtualise pas le système en entier ; il virtualise seulement
       le  système de fichiers, et certaines parties du système de fichiers peuvent toujours être
       partagées avec l'hôte. Il est par conséquent rapide, léger et flexible. Cependant,  il  ne
       virtualise  pas  les  autres aspects du système, comme la mémoire partagée, le réseau, les
       périphériques etc., et par conséquent peut être moins sécurisé que d'autres  systèmes,  en
       fonction de l'utilisation voulue. Des exemples d'utilisations connues de schroot sont :

       •      Exécution  de  programmes  non fiables dans un bac à sable ; de cette façon, ils ne
              peuvent pas interférer avec les fichiers du système hôte ; cela peut également être
              utilisé  pour diminuer les dommages que causerait la compromission d'un service sur
              l'hôte.

       •      Utiliser un environnement défini ou propre pour  garantir  la  reproductibilité  et
              l'intégrité d'une tâche donnée.

       •      Utiliser  une  version  différente  d'un système d'exploitation, ou même un système
              d'exploitation complètement différent, p.ex. une distribution GNU/Linux différente.

       •      Exécuter des programmes 32 bits sur un système hôte 64 bits, en utilisant un chroot
              32 bits.

       •      Construction  automatique  de  paquets  Debian en utilisant sbuild(1) qui construit
              chaque paquet dans un cliché chroot dédié quand les clichés LVM ou les unions  sont
              utilisés.

       •      Prise  en charge d'images multiples de systèmes dans une installation de cluster où
              modifier l'image de base est consommatrice de temps et/ou prendre en charge  toutes
              les configurations requises par les utilisateurs est difficile : différents chroots
              peuvent prendre en  charge  toutes  les  configurations  différentes  requises,  et
              l'accès  peut  être donné aux utilisateurs du cluster pour les chroots dont ils ont
              besoin (ce qui peut inclure des accès root pour les utilisateurs de confiance  afin
              qu'ils puissent maintenir leurs propres images)

       Un  chroot  peut  être  utilisé  directement en exécutant chroot(8), mais les utilisateurs
       standards ne sont pas autorisés à exécuter cette commande. schroot autorise l'accès à  des
       chroots  pour des utilisateurs normaux en utilisant le même mécanisme, mais avec plusieurs
       caractéristiques supplémentaires. Alors que schroot utilise  un  répertoire  comme  chroot
       exactement comme chroot (8), il n'a pas besoin que celui-ci soit un répertoire régulier du
       système de fichier. Bien que cela soit la valeur par défaut, le chroot peut également être
       créé  à partir d'un fichier, d'un système de fichier, incluant les clichés LVM et Btrfs et
       les montages « loopback », ou  composé  d'une  surcouche  unionfs.  Étant  extensible  par
       l'utilisateur,  les possibilités de création de chroot provenant de sources différentes ne
       sont limités que par votre imagination. schroot effectue des vérifications  de  permission
       et  autorise des mises en place automatiques supplémentaires de l'environnement de chroot,
       comme  le  montage  de  systèmes  de  fichiers  supplémentaires  et  d'autres  tâches   de
       configuration.  Cette  mise en place automatique est faite par l'action de scripts de mise
       en place qui peuvent être configurés et étendus pour effectuer  toute  action  nécessaire.
       Les  actions  typiques  incluent  le  montage du répertoire personnel de l'utilisateur, la
       configuration du réseau et des bases de  données  du  système  et  même  le  démarrage  de
       services.  Ils  sont  également  entièrement  personnalisables  par  l'administrateur. Les
       scripts de mise en place sont exécutés pour tous les types de  chroot,  à  l'exception  de
       ceux  de type ‘plain’, le type de chroot le plus simple qui ne permet aucune mise en place
       automatique. La configuration de schroot est décrite plus en détail dans schroot.conf(5).

OPTIONS

       schroot accepte les options suivantes :

   Actions
       -h, --help
              Afficher un résumé de l'aide.

       -V, --version
              Afficher les informations de version.

       -l, --list
              Lister tous les chroots disponibles.

       -i, --info
              Afficher des informations détaillées à propos des chroots spécifiés.

       --config
              Afficher la configuration des chroots spécifiés. C'est utile  pour  tester  que  la
              configuration  utilisée  est  la  même  que celle du fichier de configuration. Tout
              commentaire du fichier original est omis.

       --location
              Afficher la localisation (chemin) des chroots spécifiés. Noter  que  les  types  de
              chroot  qui ne peuvent être utilisés qu'à l'intérieur d'une session n'auront aucune
              localisation avant d'être activés.

   Options générales
       -q, --quiet
              Afficher uniquement les messages essentiels.

       -v, --verbose
              Afficher tous les messages.

   Sélection de chroots.
       -c, --chroot=chroot
              Spécifier un chroot ou une session  active  à  utiliser.  Cette  option  peut  être
              utilisée  plusieurs  fois  pour  spécifier plus d'un chroot ; dans ce cas elle a un
              effet similaire à --all. Le nom du chroot peut être préfixé par un espace de noms ;
              veuillez vous reporter à la section “Espaces de noms Chroot” ci-après.

       -a, --all
              Sélectionner  tous  les  chroots,  chroots  source  et  sessions actives. Quand une
              commande a été spécifiée, cette commande  sera  exécutée  dans  tous  les  chroots,
              chroots  source  et  sessions  actives.  Si  --info  a  été  utilisé,  afficher les
              informations à propos de tous les chroots. Cette  option  n'a  aucun  sens  à  être
              utilisée  avec  un  interpréteur  de commande de connexion (« login shell »), quand
              aucune commande n'est spécifiée. Cette  option  est  équivalente  à  “--all-chroots
              --all-source-chroots --all-sessions”.

       --all-chroots
              Sélectionner  tous  les  chroots. Identique à --all, sauf que les chroots source et
              les sessions actives ne sont pas pris en compte.

       --all-sessions
              Sélectionner toutes les sessions actives. Identique à --all, sauf que  les  chroots
              et les chroots source ne sont pas pris en compte.

       --all-source-chroots
              Sélectionner  tous  les  chroots source. Identique à --all, sauf que les chroots et
              les sessions ne sont pas pris en compte.

       --exclude-aliases
              Ne pas sélectionner les alias en plus des chroots. Cela  permet  de  s'assurer  que
              seul  les  chroots  réels  sont  sélectionnés et qu'ils ne sont listés qu'une seule
              fois.

   Environnement de chroot
       -d, --directory=répertoire
              Se déplacer dans le répertoire dans le  chroot  avant  d'exécuter  la  commande  ou
              l'interpréteur  de  commande  de  connexion. Si le répertoire n'est pas disponible,
              schroot se terminera par un état d'erreur.

              Le comportement par défaut est comme suit (tous les chemins de  répertoire  sont  à
              l'intérieur  du  chroot). Un interpréteur de commande de connexion est exécuté dans
              le répertoire de travail courant. S'il n'est  pas  disponible,  $HOME  sera  essayé
              (quand  --preserve-environment  est  utilisé),  ensuite  le répertoire personnel de
              l'utilisateur, et finalement / à l'intérieur du chroot. Une commande  est  toujours
              exécutée  dans  le  répertoire de travail courant à l'intérieur du chroot. Si aucun
              des répertoires n'est disponible, schroot se terminera avec un état d'erreur.

       -u, --user=utilisateur
              Exécuter en tant qu'utilisateur différent. Par défaut la commande est exécutée avec
              l'utilisateur   courant.   Si   nécessaire,  l'utilisateur  peut  avoir  besoin  de
              s'identifier avec un mot de passe. Pour plus d'informations, consultez  la  section
              “Authentification”, ci-dessous.

       -p, --preserve-environment
              Préserver  l'environnement  de  l'utilisateur  à  l'intérieur de l'environnement de
              chroot. Par défaut  un  environnement  propre  est  utilisé ;  cette  option  copie
              l'ensemble  de l'environnement de l'utilisateur et le met en place dans la session.
              Les variables d'environnement autorisées sont soumises à  certaines  restrictions ;
              voir la section “Environnement”, ci-dessous.

       -s, -shell=shell
              Utiliser   shell  en  tant  qu'interpréteur  de  commande  de  connexion.  Lors  de
              l'exécution d'un interpréteur de commande de connexion plusieurs  interpréteurs  de
              commandes  potentiels  seront  considérés  dans  cet  ordre :  la  commande dans la
              variable d'environnement SHELL (si l'option --preserve-environment est utilisée  ou
              si  preserve-environment  est activé), l'interpréteur de commandes de l'utilisateur
              dans la base de données ‘passwd’, /bin/bash et  finalement  /bin/sh.  Cette  option
              écrase  cette liste et utilisera l'interpréteur de commandes spécifié. Cette option
              écrase également la clé de configuration shell si définie.

       -o, --option=clé=valeur
              Définir une option. Les  valeurs  des  clés  de  configuration  sélectionnées  dans
              schroot.conf  peuvent  être  modifiées  en utilisant cette option. Les clés doivent
              être présentes dans la clé de configuration user-modifiable-keys dans schroot.conf,
              à  moins  que  la clé user-modifiable-keys ne soit exécutée par le superutilisateur
              (ou déplacée vers lui). Les clés et les valeurs définies ici seront  définies  dans
              l'environnement  des  scripts  de  mise  en  place  et  peuvent par conséquent être
              utilisées pour personnaliser le chroot pour chaque session.

   Actions de session
       --automatic-session
              Démarrer, exécuter et terminer une  session  automatiquement.  C'est  l'action  par
              défaut, et donc n'a pas besoin d'être spécifiée en opération normale.

       -b, --begin-session
              Débuter  une  session.  Un identifiant unique de session est retourné sur la sortie
              standard. L'identifiant de session est nécessaire pour utiliser les autres  options
              de  session.  Notez  que  l'identifiant de session peut être spécifié avec l'option
              --session-name.

       --recover-session
              Restaurer une session existante. Si une session existante est devenue inaccessible,
              par  exemple  démontée  à  cause  d'un  redémarrage,  cette option permettra que la
              session soit disponible pour être utilisée de nouveau, par exemple en la remontant.
              L'identifiant de session est spécifié avec l'option --chroot.

       -r, --run-session
              Lancer  une  session existante. L'identifiant de session est spécifié avec l'option
              --chroot.

       -e, --end-session
              Terminer une session existante. L'identifiant de session est spécifié avec l'option
              --chroot.

   Options de session
       -n, --session-name=nom-de-session
              Nommer  une  session.  Le  nom-de-session  spécifié  remplace le nom de session par
              défaut contenant un identifiant  de  session  généré  automatiquement.  Le  nom  de
              session  ne  doit  pas  contenir  de  qualificatif  d'espace de noms, parce que les
              sessions sont toujours créées dans l'espace de noms ‘session:’. Le nom  de  session
              est  aussi  sujet  aux  restrictions  de  dénomination  de  chroot documentées dans
              schroot.conf(5).

       -f, --force
              Forcer une opération de session, même si elle aurait autrement  échoué.  Cela  peut
              être  utilisé  pour  forcer  la  fin  d'une session, même s'il y a des utilisateurs
              actifs. Cela ne garantit pas que la session se terminera proprement ; par  exemple,
              les systèmes de fichiers peuvent ne pas être démontés.

   Séparateur
       --     Fin  des  options. Utilisé pour indiquer la fin des options de schroot ; toutes les
              options suivantes seront passées à la commande exécutée, au lieu de schroot.

AUTHENTIFICATION

       Si l'utilisateur n'est pas un utilisateur autorisé, ou membre d'un groupe autorisé (ou  en
       cas de changement vers root, un utilisateur root autorisé ou un groupe root autorisé) pour
       le chroot spécifié, les permissions seront immédiatement refusées. En  cas  de  changement
       d'utilisateur  et  si  l'utilisateur  exécutant  la commande y est autorisé, l'utilisateur
       devra s'authentifier lui-même en utilisant les identifiants de l'utilisateur  vers  lequel
       le changement sera fait.

       Pour   les   systèmes   prenant   en  charge  le  système  d'authentification  « Pluggable
       Authentication  Modules »  (PAM),  schroot  utilisera  PAM  pour   l'authentification   et
       l'autorisation  des  utilisateurs.  Si  besoin,  schroot demandera un mot de passe. Si PAM
       n'est  pas  disponible,  toutes  les  authentifications  échoueront  automatiquement   (le
       changement d'utilisateur sans PAM n'est pas pris en charge).

       Notez   que  quand  PAM  est  utilisé,  l'utilisateur  root  n'obtiendra  aucun  privilège
       particulier par défaut dans le programme. Cependant, la configuration par  défaut  de  PAM
       permet  à  root  de  se  connecter  sans mot de passe (pam_rootok.so), mais cela peut être
       désactivé pour empêcher root d'accéder à des chroots quelconques sauf ceux  spécifiquement
       permis.  Dans  une  telle  situation,  root  doit  être ajouté aux utilisateurs ou groupes
       autorisés comme n'importe quel  utilisateur  ou  groupe.  Si  PAM  n'est  pas  disponible,
       l'utilisateur root pourra accéder à tous les chroots, même non explicitement autorisé.

ESPACES DE NOMS CHROOT

   Bases des espaces de noms
       Il y a trois types de chroot différents : les chroots réguliers, les chroots source et les
       chroots session. Ces différents types de chroot sont séparés dans  différents  espaces  de
       noms.  Un  espace  de noms est un préfixe à un nom de chroot. Pour le moment, il y a trois
       espaces de noms : ‘chroot:’, ‘source:’ et ‘session:’. Utilisez --list  --all  pour  lister
       tous  les  chroots  disponibles  dans tous les espaces de noms. Parce que  ‘:’ est utilisé
       comme séparateur entre l'espace de noms et les  noms  de  chroots,  il  n'est  pas  permis
       d'utiliser ce caractère dans les noms de chroot.

       En  fonction  de l'action que vous demandez à schroot d'exécuter, celui-ci peut rechercher
       le chroot dans l'un de ces trois espaces de noms, ou un espace de  noms  particulier  peut
       être  spécifié.  Par  exemple,  un  chroot  nommé  “sid” est en fait nommé “chroot:sid” si
       l'espace de noms est inclus, mais l'espace de noms peut être  omis  pour  la  plupart  des
       actions.

   Chroots source
       Certains  types  de  chroot  comme  par  exemple les clichés LVM ou Btrfs, fournissent des
       clichés du chroot de type « copie en  cas  d'écriture »  contrôlés  par  la  session.  Ils
       fournissent  également  un  chroot  source  pour  permettre  un accès facile au système de
       fichiers utilisé comme source de cliché. Ce sont des chroots  réguliers  également,  juste
       désactivant   le   cliché.   Pour   un  chroot  nommé  “sid-snapshot”  (c'est-à-dire  avec
       “chroot:sid-snapshot” comme nom complet qualifié), il y aura également  un  chroot  source
       nommé  “source:sid-snapshot”.  Les versions précédentes de schroot fournissent des chroots
       source avec un suffixe ‘-source’. Ces suffixes  sont  également  fournis  à  des  fins  de
       compatibilité.  Dans  notre  exemple  il serait appelé “chroot:sid-snapshot-source”. Cette
       dénomination de compatibilité sera abandonnée dans une version future, les  programmes  et
       les  scripts  devraient donc être modifiés pour utiliser des noms utilisant les espaces de
       noms au lieu des vieux suffixes.

   Chroots session
       Toute session créée avec  l'option  --begin-session  est  placée  dans  l'espace  de  noms
       ‘session:’. Une session nommée avec --session-name peut avoir différents noms, même un nom
       identique au chroot à partir duquel elle a été créée, à condition qu'il soit  unique  dans
       l'espace  de  noms.  Cela  n'était pas permis dans les versions précédentes de schroot qui
       n'avait pas d'espaces de noms.

   Actions et espaces de noms par défaut
       Toutes les actions utilisent ‘chroot:’ comme espace de  noms  par  défaut,  avec  quelques
       exceptions pour des actions de sessions. --run-session, --recover-session et --end-session
       utilisent ‘session:’ comme espace de noms par défaut, car ces  actions  agissent  sur  les
       chroots  session.  Le  résultat  est que l'espace de noms n'est normalement jamais requis,
       sauf quand vous avez besoin de travailler avec un chroot dans un espace de noms  différent
       de  celui  par  défaut,  comme  lorsque vous utilisez un chroot source. Pour effectuer une
       sélection de chroot sans ambigüité, il est toujours possible  d'utiliser  le  nom  complet
       incluant l'espace de noms, même quand cela n'est pas strictement nécessaire.

PERFORMANCES

       Les performances sur certains systèmes de fichiers, par exemple Btrfs, sont mauvaises lors
       de l'utilisation de dpkg à cause de la quantité d'opérations fsync à effectuer. Cela  peut
       être  limité  par l'installation du paquet eatmydata et ensuite par l'ajout de eatmydata à
       la clé de configuration command-prefix, ce qui désactivera toutes  les  opérations  fsync.
       Notez  que  cela ne doit être effectué que dans les chroots clichés où la perte de données
       n'est pas un problème. C'est utile lors de l'utilisation d'un chroot pour une construction
       de paquets, par exemple.

RÉPERTOIRES DE SUBSTITUTION

       schroot  sélectionnera  un  répertoire  approprié à utiliser à l'intérieur du chroot si un
       interpréteur de commande de connexion est utilisé ou une commande exécutée et également si
       l'option  --directory  est  utilisée.  Dans le cas de l'exécution directe ou en spécifiant
       explicitement un répertoire, seulement un répertoire sera utilisé par mesure  de  sécurité
       et  de  cohérence,  alors  que  pour  un  interpréteur  de commande de connexion plusieurs
       possibilités  peuvent  être  testées.  La  sous-section  suivante  liste  la  séquence  de
       substitution  pour  chaque  cas.  CWD  est  le  répertoire  de travail courant, DIR est le
       répertoire spécifié par --directory.

   Interpréteur de commande de connexion
       ┌────────────────────┬──────────────────────────────────────────┐
       │Transition          │                                          │
       │(Hôte → Chroot)     │ Commentaire                              │
       ├────────────────────┼──────────────────────────────────────────┤
       │CWD → CWD           │ Comportement  normal   (si   --directory │
       │                    │ n'est pas utilisé)                       │
       │CWD → $HOME         │ Si      CWD      n'existe     pas     et │
       │                    │ --preserve-environment est utilisé       │
       │CWD → passwd pw_dir │ Si     CWD     n'existe     pas      (ou │
       │                    │ --preserve-environment  est  utilisé  et │
       │                    │ aucun $HOME n'existe)                    │
       │CWD → /             │ Aucun des répertoires ci-dessus n'existe │
       │FAIL                │ Si / n'existe pas                        │
       └────────────────────┴──────────────────────────────────────────┘
   Commande
       ┌────────────────┬──────────────────────────────────────────┐
       │Transition      │                                          │
       │(Hôte → Chroot) │ Commentaire                              │
       ├────────────────┼──────────────────────────────────────────┤
       │CWD → CWD       │ Comportement  normal   (si   --directory │
       │                │ n'est pas utilisé)                       │
       │FAIL            │ Si CWD n'existe pas                      │
       └────────────────┴──────────────────────────────────────────┘
       Aucune solution de repli ne devrait exister en toute circonstance.

   utilisation de --directory
       ┌────────────────┬──────────────────────────────────────────┐
       │Transition      │                                          │
       │(Hôte → Chroot) │ Commentaire                              │
       ├────────────────┼──────────────────────────────────────────┤
       │CWD → DIR       │ Comportement normal                      │
       │FAIL            │ Si DIR n'existe pas                      │
       └────────────────┴──────────────────────────────────────────┘
       Aucune solution de repli ne devrait exister en toute circonstance.

   Débogage
       Notez que --debug=notice affichera la liste interne des répertoires de repli calculée pour
       la session.

EXEMPLES

   Lister les chroots disponibles
       % schroot -l↵
       chroot:default
       chroot:etch
       chroot:sid
       chroot:testing
       chroot:unstable

   Récupérer les informations d'un chroot
       % schroot -i -c sid↵
         ——— Chroot ———
         Name                   sid
         Description            Debian sid (unstable)
         Type                   plain
         Priority               3
         Users                  rleigh
         Groups                 sbuild
         Root Users
         Root Groups            sbuild
         Aliases                unstable unstable-sbuild unstable-p
       owerpc-sbuild
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux32
         Location               /srv/chroot/sid

       Utilisez -c  ou  --all  plusieurs  fois  pour  utiliser  plusieurs  ou  tous  les  chroots
       respectivement.

   Exécuter des commandes dans un chroot
       % schroot -c sid /bin/ls↵
       [sid chroot] Running command: “/bin/ls”
       CVS          sbuild-chroot.c   sbuild-session.h  schroot.conf.5
       Makefile     sbuild-chroot.h   schroot.1         schroot.conf.5.in
       Makefile.am  sbuild-config.c   schroot.1.in
       Makefile.in  sbuild-config.h   schroot.c
       pam          sbuild-session.c  schroot.conf
       % schroot -c sid -- ls -1 | head -n 5↵
       [sid chroot] Running command: “ls -1”
       ABOUT-NLS
       AUTHORS
       COPYING
       ChangeLog
       INSTALL

       Utilisez  --  pour  autoriser  les  options  débutant  avec ‘-’ ou ‘--’ pour la commande à
       exécuter dans le chroot. Cela empêche qu'elles soient interprétées en tant  qu'options  de
       schroot.  Notez que la première ligne a été affichée sur l'erreur standard et le reste sur
       la sortie standard. C'est intentionnel, pour que la sortie du programme  exécuté  dans  le
       chroot puisse être redirigée via un pipe ou autre si besoin ; les données seront les mêmes
       que si la commande était exécutée directement sur le système hôte.

   Changer d'utilisateur
       % schroot -c sid -u root↵
       Password:
       [sid chroot] (rleigh→root) Running login shell: “/bin/bash”
       #

       Si l'utilisateur ‘rleigh’ était dans root-users de /etc/schroot/schroot.conf,  ou  un  des
       groupes  auxquels il appartient était dans root-groups, un accès root lui sera fourni sans
       authentification, mais l'étape d'autorisation PAM est toujours appliquée.

   Sessions
       Un chroot peut être nécessaire pour exécuter plus d'une commande. En particulier, quand le
       chroot est créé à la volée à partir d'un volume logique LVM ou d'un fichier sur le disque,
       il est nécessaire de rendre le chroot persistant pendant qu'une tâche donnée (ou un jeu de
       tâches)  est  exécutée.  Les sessions existent pour cette raison. Pour les chroots de type
       simple comme ‘plain’ et ‘directory’, des sessions peuvent être créées  mais  ne  sont  pas
       strictement nécessaires.

       Commençons par examiner un chroot capable d'utiliser des sessions :

       % schroot -i -c sid-snap↵
         ——— Chroot ———
         Name                   sid-snap
         Description            Debian sid snapshot
         Type                   lvm-snapshot
         Priority               3
         Users                  maks rleigh
         Groups                 sbuild
         Root Users
         Root Groups            root sbuild
         Aliases
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux
         Device                 /dev/hda_vg/sid_chroot
         Mount Options          -o atime,async,user_xattr
         Source Users
         Source Groups          root rleigh
         Source Root Users
         Source Root Groups     root rleigh
         LVM Snapshot Options   --size 2G -c 128

       Notez  que l'option Session Managed est définie à ‘true’. Cela est requis pour utiliser le
       gestionnaire de session et est pris en charge par la plupart des types de chroot.  Ensuite
       nous allons créer une nouvelle session :

       % schroot -b -c sid-snap↵
       sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

       L'identifiant  de  session  de  la  session  nouvellement créée est retourné sur la sortie
       standard. Il est habituel de le conserver comme ceci :

       % SESSION=$(schroot -b -c sid-snap)↵
       % echo $SESSION↵
       sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

       La session peut être utilisée comme n'importe quel  chroot.  Voici  à  quoi  ressemble  la
       session :

       % schroot -i -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
         ——— Session ———
         Name                   sid-snap-46195b04-0893-49bf-beb8-0d\
       4ccc899f0f
         Description            Debian sid snapshot
         Type                   lvm-snapshot
         Priority               3
         Users                  maks rleigh
         Groups                 sbuild
         Root Users
         Root Groups            root sbuild
         Aliases
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux
         Mount Location         /var/lib/schroot/mount/sid-snap-461\
       95b04-0893-49bf-beb8-0d4ccc899f0f
         Path                   /var/lib/schroot/mount/sid-snap-461\
       95b04-0893-49bf-beb8-0d4ccc899f0f
         Mount Device           /dev/hda_vg/sid-snap-46195b04-0893-\
       49bf-beb8-0d4ccc899f0f
         Device                 /dev/hda_vg/sid_chroot
         Mount Options          -o atime,async,user_xattr
         Source Users
         Source Groups          root rleigh
         Source Root Users
         Source Root Groups     root rleigh
         LVM Snapshot Device    /dev/hda_vg/sid-snap-46195b04-0893-\
       49bf-beb8-0d4ccc899f0f
         LVM Snapshot Options   --size 2G -c 128

       Maintenant  que  la  session  a  été créée, il est possible d'exécuter des commandes comme
       ceci :

       % schroot -r -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f -- \
         uname -sr↵
       I: [sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f chroot] Running \
       command: “uname -sr”
       Linux 2.6.18-3-powerpc
       % schroot -r -c $SESSION -- uname -sr↵
       I: [sid-snap-fe170af9-d9be-4800-b1bd-de275858b938 chroot] Running \
       command: “uname -sr”
       Linux 2.6.18-3-powerpc

       Quand toutes les commandes à exécuter dans la session ont été effectuées, la session  peut
       être terminée :

       % schroot -e -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
       % schroot -e -c $SESSION↵

       Finalement,  les  noms  de  session  peuvent être longs et peu maniables. Un nom peut être
       spécifié à la place de l'identifiant de session généré automatiquement :

       % schroot -b -c sid-snap -n mon-nom-session↵
       mon-nom-session

DÉPANNAGES

       Si quelque chose ne fonctionne pas, et qu'il n'est pas facile de déterminer ce qui  ne  va
       pas  à  partir  des  messages  d'erreur, vous pouvez utiliser l'option --debug=niveau pour
       activer les messages de débogage. Cela donnera un plus grand  nombre  d'informations.  Les
       niveaux  de  débogage  valides  sont ‘none’, ‘notice’, ‘info’, ‘warning’ et ‘critical’ par
       ordre croissant de sévérité. Plus le niveau de sévérité est faible, plus il y a de sortie.

       Si vous avez toujours des problèmes, les développeurs peuvent être contactés sur la  liste
       de diffusion (en anglais) :
       Debian buildd-tools Developers
       <buildd-tools-devel@lists.alioth.debian.org>

BOGUES

       Sur les architectures mips et mipsel, les noyaux Linux, jusqu'à la version 2.6.17 incluse,
       ont une prise en charge cassée des personality(2), qui a pour conséquence un échec  de  la
       mise  en  place  des  personnalités.  Cela  se  manifeste  par  une  erreur “Operation not
       permitted” (EPERM). Pour contourner ce problème, définissez personality à ‘undefined’,  ou
       mettez à jour votre noyau vers une version plus récente.

ENVIRONNEMENT

       Par défaut, l'environnement n'est pas préservé, et les variables d'environnement suivantes
       sont définies : HOME, LOGNAME, PATH, SHELL, TERM (préservée si déjà  spécifiée)  et  USER.
       Les variables d'environnement SCHROOT_COMMAND, SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID et
       SCHROOT_GID sont définies à l'intérieur du chroot spécifiant  respectivement  la  commande
       exécutée,  le  nom  d'utilisateur,  le  nom  de  groupe, l'identifiant de l'utilisateur et
       l'identifiant du  groupe.  En  plus,  les  variables  d'environnement  SCHROOT_SESSION_ID,
       SCHROOT_CHROOT_NAME  et  SCHROOT_ALIAS_NAME  définissent  respectivement  l'identifiant de
       session, le nom de chroot d'origine avant la création de la  session  et  l'alias  utilisé
       pour identifier le chroot d'origine sélectionné.

       Les  variables  d'environnement,  potentiellement dangereuses, suivantes sont retirées par
       défaut  pour  des  raisons  de  sécurité :  BASH_ENV,  CDPATH,  ENV,   HOSTALIASES,   IFS,
       KRB5_CONFIG,  KRBCONFDIR,  KRBTKFILE,  KRB_CONF, LD_.*, LOCALDOMAIN, NLSPATH, PATH_LOCALE,
       RES_OPTIONS, TERMINFO, TERMINFO_DIRS, et TERMPATH. Si nécessaire, la clé de  configuration
       environment-filter  permettra  de modifier la liste d'exclusion. Consultez schroot.conf(5)
       pour plus de détails.

FICHIERS

   Fichiers de configuration
       /etc/schroot/schroot.conf
              Le fichier de configuration des chroots pour l'ensemble du système. Ce fichier doit
              être possédé par l'utilisateur root et être non inscriptible par les autres.

       /etc/schroot/chroot.d
              Des définitions de chroot supplémentaires peuvent être placées dans des fichiers de
              ce répertoire. Elles sont traitées de la même façon que  /etc/schroot/schroot.conf.
              Chaque  fichier peut contenir une ou plusieurs définitions de chroot. Notez que les
              fichiers de ce répertoire suivent les mêmes règles de dénomination que run-parts(8)
              lorsqu'ils sont exécutés avec l'option --lsbsysinit.

       /etc/schroot/setup.d
              Le  répertoire  de  scripts  de mise en place de chroot pour l'ensemble du système.
              Consultez schroot-setup(5).

       /etc/pam.d/schroot
              Configuration de PAM.

   Répertoires systèmes
       /usr/lib/x86_64-linux-gnu/schroot
              Répertoire contenant les programmes d'assistance utilisés par les scripts  de  mise
              en place.

   Répertoires de sessions
       Chaque répertoire contient un répertoire ou un fichier avec le nom de chaque session. Tous
       les types de chroot n'utilisent pas tous les répertoires ci-dessous.

       /var/lib/schroot/session
              Répertoire contenant la configuration de session pour chaque session active.

       /var/lib/schroot/mount
              Répertoire utilisé pour monter le système de fichiers utilisé pour  chaque  session
              active.

       /var/lib/schroot/union/underlay
              Répertoire utilisé comme source d'union de système de fichiers (sous-couche).

       /var/lib/schroot/union/overlay
              Répertoire  utilisé  comme  sur-couche  inscriptible  pour  l'union  de  système de
              fichiers.

       /var/lib/schroot/unpack
              Répertoire utilisé pour le dépaquetage de chroots de fichiers.

AUTEURS

       Roger Leigh.

COPYRIGHT

       Copyright © 2005-2012 Roger Leigh <rleigh@debian.org>

       schroot est un logiciel  libre :  vous  pouvez  le  redistribuer  et/ou  le  modifier  aux
       conditions  définies  dans  la licence publique générale GNU telle que publiée par la Free
       Software Foundation ; version 2 ou, selon votre préférence, toute version ultérieure.

VOIR AUSSI

       dchroot(1),  sbuild(1),   chroot(2),   run-parts(8),   schroot-setup(5),   schroot-faq(7),
       schroot.conf(5).