Provided by: schroot_1.6.10-4ubuntu0.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          │                                          │
       │ (Host → Chroot)     │ Comment                                  │
       ├─────────────────────┼──────────────────────────────────────────┤
       │ CWD → CWD           │ Normal behaviour (if --directory is  not │
       │                     │ used)                                    │
       │ CWD → $HOME         │ If     CWD     is     nonexistent    and │
       │                     │ --preserve-environment is used           │
       │ CWD → passwd pw_dir │ If    CWD     is     nonexistent     (or │
       │                     │ --preserve-environment  is  used  and no │
       │                     │ $HOME exists)                            │
       │ CWD → /             │ None of the above exist                  │
       │ FAIL                │ If / is nonexistent                      │
       └─────────────────────┴──────────────────────────────────────────┘

   Commande
       ┌─────────────────┬──────────────────────────────────────────┐
       │ Transition      │                                          │
       │ (Host → Chroot) │ Comment                                  │
       ├─────────────────┼──────────────────────────────────────────┤
       │ CWD → CWD       │ Normal behaviour (if --directory is  not │
       │                 │ used)                                    │
       │ FAIL            │ If CWD is nonexistent                    │
       └─────────────────┴──────────────────────────────────────────┘

       Aucune solution de repli ne devrait exister en toute circonstance.

   utilisation de --directory
       ┌─────────────────┬──────────────────────────────────────────┐
       │ Transition      │                                          │
       │ (Host → Chroot) │ Comment                                  │
       ├─────────────────┼──────────────────────────────────────────┤
       │ CWD → DIR       │ Normal behaviour                         │
       │ FAIL            │ If DIR is nonexistent                    │
       └─────────────────┴──────────────────────────────────────────┘

       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/run/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).

May                                                    05                                             SCHROOT(1)