SCHROOT(1) 2022 SCHROOT(1) NOM schroot -- entrer de maniere securisee dans un environnement de chroot RESUME 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 repertoire|--directory=repertoire] [-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=cle=valeur] [--] [COMMANDE [ ARG1 [ ARG2 [ ARGn]]]] DESCRIPTION schroot autorise l'utilisateur a executer une commande ou un interpreteur de commande de connexion dans un environnement de chroot. Si aucune commande n'est precisee, un interpreteur de commande de connexion sera demarre dans le repertoire de travail courant de l'utilisateur a l'interieur du chroot. La commande est un programme plus autant d'arguments optionnels que requis. Chaque argument doit etre declare separement. Le repertoire dans lequel la commande ou l'interpreteur de commande de connexion sont executes depend du contexte. Voir l'option --directory ci-dessous pour une description complete. Toute utilisation de chroot sera enregistree dans les journaux du systeme. Dans certaines circonstances, l'utilisateur pourrait devoir s'identifier ; consultez la section "Authentification" ci-dessous. Si aucun chroot n'est specifie, le nom de chroot ou alias `default' sera utilise a la place. Cela est equivalent a "--chroot=default". APERCU Il est souvent necessaire d'executer des programmes dans des environnements virtualises plutot que directement sur le systeme hote. A la difference des autres systemes de virtualisation comme kvm ou Xen, schroot ne virtualise pas le systeme en entier ; il virtualise seulement le systeme de fichiers, et certaines parties du systeme de fichiers peuvent toujours etre partagees avec l'hote. Il est par consequent rapide, leger et flexible. Cependant, il ne virtualise pas les autres aspects du systeme, comme la memoire partagee, le reseau, les peripheriques, etc., et par consequent peut etre moins securise que d'autres systemes, en fonction de l'utilisation voulue. Des exemples d'utilisations connues de schroot sont : o Executer des programmes non fiables dans un bac a sable ; de cette facon, ils ne peuvent pas interferer avec les fichiers du systeme hote ; cela peut egalement etre utilise pour diminuer les dommages que causerait la compromission d'un service sur l'hote. o Utiliser un environnement defini ou propre pour garantir la reproductibilite et l'integrite d'une tache donnee. o Utiliser une version differente d'un systeme d'exploitation, ou meme un systeme d'exploitation completement different, par exemple une distribution GNU/Linux differente. o Executer des programmes 32 bits sur un systeme hote 64 bits, en utilisant un chroot 32 bits. o Construire automatiquement des paquets Debian en utilisant sbuild(1) qui construit chaque paquet dans un instantane chroot dedie quand les instantanes LVM ou les unions sont utilises. o Prendre en charge des images multiples de systemes dans une installation de grappe ou modifier l'image de base est consommatrice de temps et/ou prendre en charge toutes les configurations requises par les utilisateurs est difficile : differents chroots peuvent prendre en charge toutes les configurations differentes requises, et l'acces peut etre donne aux utilisateurs de la grappe pour les chroots dont ils ont besoin (ce qui peut inclure des acces root pour les utilisateurs de confiance afin qu'ils puissent entretenir leurs propres images) Un chroot peut etre utilise directement en executant chroot(8), mais les utilisateurs standard ne sont pas autorises a executer cette commande. schroot autorise l'acces a des chroots pour des utilisateurs normaux en utilisant le meme mecanisme, mais avec plusieurs caracteristiques supplementaires. Alors que schroot utilise un repertoire comme chroot exactement comme chroot(8), il n'a pas besoin que celui-ci soit un repertoire ordinaire du systeme de fichier. Bien que cela soit la valeur par defaut, le chroot peut egalement etre cree a partir d'un fichier, d'un systeme de fichiers, incluant les instantanes LVM et Btrfs et les montages << loopback >>, ou compose d'une surcouche unionfs. schroot etant extensible par l'utilisateur, les possibilites de creation de chroot provenant de sources differentes ne sont limites que par votre imagination. schroot effectue des verifications de permission et autorise des mises en place automatiques supplementaires de l'environnement de chroot, comme le montage de systemes de fichiers supplementaires et d'autres taches de configuration. Cette mise en place automatique est faite par l'action de scripts de mise en place qui peuvent etre configures et etendus pour effectuer toute action necessaire. Les actions typiques incluent le montage du repertoire personnel de l'utilisateur, la configuration du reseau et des bases de donnees du systeme et meme le demarrage de services. Ils sont egalement entierement personnalisables par l'administrateur. Les scripts de mise en place sont executes pour tous les types de chroot, a 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 decrite plus en detail dans schroot.conf(5). OPTIONS schroot accepte les options suivantes : Actions -h, --help Afficher un resume de l'aide. -V, --version Afficher les informations de version. -l, --list Lister tous les chroots disponibles. -i, --info Afficher des informations detaillees a propos des chroots specifies. --config Afficher la configuration des chroots specifies. C'est utile pour tester que la configuration utilisee est la meme que celle du fichier de configuration. Tout commentaire du fichier original est omis. --location Afficher la localisation (chemin) des chroots specifies. Noter que les types de chroot qui ne peuvent etre utilises qu'a l'interieur d'une session n'auront aucune localisation avant d'etre actives. Options generales -q, --quiet Afficher uniquement les messages essentiels. -v, --verbose Afficher tous les messages. Selection de chroots. -c, --chroot=chroot Specifier un chroot ou une session active a utiliser. Cette option peut etre utilisee plusieurs fois pour specifier plus d'un chroot. Dans ce cas, elle a un effet similaire a --all. Le nom du chroot peut etre prefixe par un espace de noms. Veuillez vous reporter a la section "Espaces de noms Chroot" ci-apres. -a, --all Selectionner tous les chroots, chroots source et sessions actives. Quand une commande a ete specifiee, cette commande sera executee dans tous les chroots, chroots source et sessions actives. Si --info a ete utilise, afficher les informations a propos de tous les chroots. Cette option n'a aucun sens si elle est utilisee avec un interpreteur de commande de connexion (<< login shell >>), aucune commande n'etant specifiee. Cette option est equivalente a "--all-chroots --all-source-chroots --all-sessions". --all-chroots Selectionner tous les chroots. Identique a --all, sauf que les chroots source et les sessions actives ne sont pas pris en compte. --all-sessions Selectionner toutes les sessions actives. Identique a --all, sauf que les chroots et les chroots source ne sont pas pris en compte. --all-source-chroots Selectionner tous les chroots source. Identique a --all, sauf que les chroots et les sessions ne sont pas pris en compte. --exclude-aliases Ne pas selectionner les alias en plus des chroots. Cela permet de s'assurer que seuls les chroots reels sont selectionnes et qu'ils ne sont listes qu'une seule fois. Environnement de chroot -d, --directory=repertoire Se deplacer dans le repertoire dans le chroot avant d'executer la commande ou l'interpreteur de commande de connexion. Si le repertoire n'est pas disponible, schroot se terminera par un etat d'erreur. Le comportement par defaut est comme suit (tous les chemins de repertoire sont a l'interieur du chroot). Un interpreteur de commande de connexion est execute dans le repertoire de travail courant. S'il n'est pas disponible, $HOME sera essaye (quand --preserve-environment est utilise), ensuite le repertoire personnel de l'utilisateur, et finalement / a l'interieur du chroot. Une commande est toujours executee dans le repertoire de travail courant a l'interieur du chroot. Si aucun des repertoires n'est disponible, schroot se terminera avec un etat d'erreur. -u, --user=utilisateur Executer en tant qu'utilisateur different. Par defaut, la commande est executee avec l'utilisateur courant. Si necessaire, 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 Preserver l'environnement de l'utilisateur a l'interieur de l'environnement de chroot. Par defaut, un environnement propre est utilise ; cette option copie l'ensemble de l'environnement de l'utilisateur et le met en place dans la session. Les variables d'environnement autorisees sont soumises a certaines restrictions ; voir la section "Environnement", ci-dessous. -s, -shell=shell Utiliser shell en tant qu'interpreteur de commande de connexion. Lors de l'execution d'un interpreteur de commande de connexion plusieurs interpreteurs de commandes potentiels seront consideres dans cet ordre : la commande dans la variable d'environnement SHELL (si l'option --preserve-environment est utilisee ou si preserve-environment est active), l'interpreteur de commandes de l'utilisateur dans la base de donnees `passwd', /bin/bash et finalement /bin/sh. Cette option ecrase cette liste et utilisera l'interpreteur de commandes specifie. Cette option ecrase egalement la cle de configuration shell si definie. -o, --option=cle=valeur Definir une option. Les valeurs des cles de configuration selectionnees dans schroot.conf peuvent etre modifiees en utilisant cette option. Les cles doivent etre presentes dans la cle de configuration user-modifiable-keys dans schroot.conf, a moins que la cle user-modifiable-keys ne soit executee par le superutilisateur (ou deplacee vers lui). Les cles et les valeurs definies ici seront definies dans l'environnement des scripts de mise en place et peuvent par consequent etre utilisees pour personnaliser le chroot pour chaque session. Actions de session --automatic-session Demarrer, executer et terminer une session automatiquement. C'est l'action par defaut, et donc n'a pas besoin d'etre specifiee en operation normale. -b, --begin-session Debuter une session. Un identifiant unique de session est renvoye sur la sortie standard. L'identifiant de session est necessaire pour utiliser les autres options de session. Notez que l'identifiant de session peut etre specifie avec l'option --session-name. --recover-session Restaurer une session existante. Si une session existante est devenue inaccessible, par exemple demontee a cause d'un redemarrage, cette option permettra que la session soit disponible pour etre utilisee de nouveau, par exemple en la remontant. L'identifiant de session est specifie avec l'option --chroot. -r, --run-session Lancer une session existante. L'identifiant de session est specifie avec l'option --chroot. -e, --end-session Terminer une session existante. L'identifiant de session est specifie avec l'option --chroot. Options de session -n, --session-name=nom-de-session Nommer une session. Le nom-de-session specifie remplace le nom de session par defaut contenant un identifiant de session genere automatiquement. Le nom de session ne doit pas contenir de qualificatif d'espace de noms, parce que les sessions sont toujours creees dans l'espace de noms `session:'. Le nom de session est aussi sujet aux restrictions de denomination de chroot documentees dans schroot.conf(5). -f, --force Forcer une operation de session, meme si elle aurait autrement echoue. Cela peut etre utilise pour forcer la fin d'une session, meme s'il y a des utilisateurs actifs. Cela ne garantit pas que la session se terminera proprement ; par exemple, les systemes de fichiers peuvent ne pas etre demontes. Separateur -- Fin des options. Utilise pour indiquer la fin des options de schroot ; toutes les options suivantes seront passees a la commande executee, au lieu de schroot. AUTHENTIFICATION Si l'utilisateur n'est pas un utilisateur autorise, ou membre d'un groupe autorise (ou en cas de changement vers root, un utilisateur root autorise ou un groupe root autorise) pour le chroot specifie, les permissions seront immediatement refusees. En cas de changement d'utilisateur et si l'utilisateur executant la commande y est autorise, l'utilisateur devra s'authentifier lui-meme en utilisant les identifiants de l'utilisateur vers lequel le changement sera fait. Pour les systemes prenant en charge le systeme 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 echoueront automatiquement (le changement d'utilisateur sans PAM n'est pas pris en charge). Notez que quand PAM est utilise, l'utilisateur root n'obtiendra aucun privilege particulier par defaut dans le programme. Cependant, la configuration par defaut de PAM permet a root de se connecter sans mot de passe (pam_rootok.so), mais cela peut etre desactive pour empecher root d'acceder a des chroots quelconques sauf ceux specifiquement permis. Dans une telle situation, root doit etre ajoute aux utilisateurs ou groupes autorises comme n'importe quel utilisateur ou groupe. Si PAM n'est pas disponible, l'utilisateur root pourra acceder a tous les chroots, meme non explicitement autorise. ESPACES DE NOMS CHROOT Bases des espaces de noms Il y a trois types de chroot differents : les chroots ordinaires, les chroots source et les chroots session. Ces differents types de chroot sont separes dans differents espaces de noms. Un espace de noms est un prefixe a 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 utilise comme separateur entre l'espace de noms et les noms de chroots, il n'est pas permis d'utiliser ce caractere dans les noms de chroot. En fonction de l'action que vous demandez a schroot d'executer, celui-ci peut rechercher le chroot dans l'un de ces trois espaces de noms, ou un espace de noms particulier peut etre specifie. Par exemple, un chroot nomme "sid" est en fait nomme "chroot:sid" si l'espace de noms est inclus, mais l'espace de noms peut etre omis pour la plupart des actions. Chroots source Certains types de chroot, par exemple les instantanes LVM ou Btrfs, fournissent des instantanes du chroot de type << copie en cas d'ecriture >> controles par la session. Ils fournissent egalement un chroot source pour permettre un acces facile au systeme de fichiers utilise comme source de creation d'instantane. Ce sont des chroots ordinaires egalement, mais desactivant la creation d'instantane. Pour un chroot nomme "sid-snapshot" (c'est-a-dire avec "chroot:sid-snapshot" comme nom complet qualifie), il y aura egalement un chroot source nomme "source:sid-snapshot". Les versions precedentes de schroot fournissent des chroots source avec un suffixe `-source'. Ces suffixes sont egalement fournis a des fins de compatibilite. Dans notre exemple il serait appele "chroot:sid-snapshot-source". Cette denomination de compatibilite sera abandonnee dans une version future, les programmes et les scripts devraient donc etre modifies pour utiliser des noms utilisant les espaces de noms au lieu des vieux suffixes. Chroots session Toute session creee avec l'option --begin-session est placee dans l'espace de noms `session:'. Une session nommee avec --session-name peut avoir differents noms, meme un nom identique au chroot a partir duquel elle a ete creee, a condition qu'il soit unique dans l'espace de noms. Cela n'etait pas permis dans les versions precedentes de schroot qui n'avaient pas d'espaces de noms. Actions et espaces de noms par defaut Toutes les actions utilisent `chroot:' comme espace de noms par defaut, avec quelques exceptions pour des actions de sessions. --run-session, --recover-session et --end-session utilisent `session:' comme espace de noms par defaut, car ces actions agissent sur les chroots session. Le resultat 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 different de celui par defaut, comme lorsque vous utilisez un chroot source. Pour effectuer une selection de chroot sans ambiguite, il est toujours possible d'utiliser le nom complet incluant l'espace de noms, meme quand cela n'est pas strictement necessaire. PERFORMANCES Les performances sur certains systemes de fichiers, par exemple Btrfs, sont mauvaises lors de l'utilisation de dpkg a cause de la quantite d'operations fsync a effectuer. Cela peut etre limite par l'installation du paquet eatmydata et ensuite par l'ajout de eatmydata a la cle de configuration command-prefix, ce qui desactivera toutes les operations fsync. Notez que cela ne doit etre effectue que dans les chroots d'instantanes ou la perte de donnees n'est pas un probleme. C'est utile lors de l'utilisation d'un chroot pour une construction de paquets, par exemple. REPERTOIRES DE SUBSTITUTION Schroot selectionnera un repertoire approprie a utiliser a l'interieur du chroot si un interpreteur de commande de connexion est utilise ou une commande executee et egalement si l'option --directory est utilisee. Dans le cas de l'execution directe ou en specifiant explicitement un repertoire, seulement un repertoire sera utilise par mesure de securite et de coherence, alors que pour un interpreteur de commande de connexion plusieurs possibilites peuvent etre testees. La sous-section suivante liste la sequence de substitution pour chaque cas. CWD est le repertoire de travail courant, DIR est le repertoire specifie par --directory. Interpreteur de commande de connexion +---------------------+------------------------------------------+ |Transition | | |(Hote -> Chroot) | Commentaire | +---------------------+------------------------------------------+ |CWD -> CWD | Comportement normal (si --directory | | | n'est pas utilise) | |CWD -> $HOME | Si CWD n'existe pas et | | | --preserve-environment est utilise | |CWD -> passwd pw_dir | Si CWD n'existe pas (ou | | | --preserve-environment est utilise et | | | aucun $HOME n'existe) | |CWD -> / | Aucun des repertoires ci-dessus n'existe | |FAIL | Si / n'existe pas | +---------------------+------------------------------------------+ Commande +-------------------+------------------------------------------+ |Transition | | |(Hote -> Chroot) | Commentaire | +-------------------+------------------------------------------+ |CWD -> CWD | Comportement normal (si --directory | | | n'est pas utilise) | |FAIL | Si CWD n'existe pas | +-------------------+------------------------------------------+ Aucune solution de repli ne devrait exister en toute circonstance. utilisation de --directory +-------------------+------------------------------------------+ |Transition | | |(Hote -> Chroot) | Commentaire | +-------------------+------------------------------------------+ |CWD -> DIR | Comportement normal | |FAIL | Si CWD n'existe pas | +-------------------+------------------------------------------+ Aucune solution de repli ne devrait exister en toute circonstance. Debogage Notez que --debug=notice affichera la liste interne des repertoires de repli calculee pour la session. EXEMPLES Lister les chroots disponibles % schroot -l chroot:default chroot:etch chroot:sid chroot:testing chroot:unstable Recuperer 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 --all ou -c plusieurs fois pour utiliser plusieurs ou tous les chroots respectivement. Executer 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 debutant avec `-' ou `--' pour la commande a executer dans le chroot. Cela empeche qu'elles soient interpretees en tant qu'options de schroot. Notez que la premiere ligne a ete affichee sur l'erreur standard et le reste sur la sortie standard. C'est intentionnel, pour que la sortie du programme execute dans le chroot puisse etre redirigee a l'aide d'un pipe si besoin ; les donnees seront les memes que si la commande etait executee directement sur le systeme hote. Changer d'utilisateur % schroot -c sid -u root Password: [sid chroot] (rleigh->root) Running login shell: "/bin/bash" # Si l'utilisateur `rleigh' etait dans root-users de /etc/schroot/schroot.conf, ou un des groupes auxquels il appartient etait dans root-groups, un acces root lui sera fourni sans authentification, mais l'etape d'autorisation PAM est toujours appliquee. Sessions Un chroot peut etre necessaire pour executer plus d'une commande. En particulier, quand le chroot est cree a la volee a partir d'un volume logique LVM ou d'un fichier sur le disque, il est necessaire de rendre le chroot persistant pendant qu'une tache donnee (ou un jeu de taches) est executee. Les sessions existent pour cette raison. Pour les chroots de type simple comme `plain' et `directory', des sessions peuvent etre creees mais ne sont pas strictement necessaires. Commencons 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 definie a `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 creer une nouvelle session : % schroot -b -c sid-snap sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f L'identifiant de session de la session nouvellement creee est renvoye 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 etre utilisee comme n'importe quel chroot. Voici a 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 ete creee, il est possible d'executer 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 a executer dans la session ont ete effectuees, la session peut etre terminee : % schroot -e -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f % schroot -e -c $SESSION Finalement, les noms de session peuvent etre longs et peu maniables. Un nom peut etre specifie a la place de l'identifiant de session genere automatiquement : % schroot -b -c sid-snap -n mon-nom-session mon-nom-session DEPANNAGES Si quelque chose ne fonctionne pas, et qu'il n'est pas facile de determiner ce qui ne va pas a partir des messages d'erreur, vous pouvez utiliser l'option --debug=niveau pour activer les messages de debogage. Cela donnera un plus grand nombre d'informations. Les niveaux de debogage valables sont `none', `notice', `info', `warning' et `critical' par ordre croissant de severite. Plus le niveau de severite est faible, plus il y a de sortie. Si vous avez toujours des problemes, les developpeurs peuvent etre contactes sur la liste de diffusion (en anglais) : Debian buildd-tools Developers BOGUES Sur les architectures mips et mipsel, les noyaux Linux, jusqu'a la version 2.6.17 incluse, ont une prise en charge cassee des personality(2), qui a pour consequence un echec de la mise en place des personnalites. Cela se manifeste par une erreur "Operation not permitted" (EPERM). Pour contourner ce probleme, definissez personality a `undefined' ou mettez a niveau votre noyau vers une version plus recente. ENVIRONNEMENT Par defaut, l'environnement n'est pas preserve et les variables d'environnement suivantes sont definies : HOME, LOGNAME, PATH, SHELL, TERM (preservee si deja specifiee) et USER. Les variables d'environnement SCHROOT_COMMAND, SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID et SCHROOT_GID sont definies a l'interieur du chroot specifiant respectivement la commande executee, 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 definissent respectivement l'identifiant de session, le nom de chroot d'origine avant la creation de la session et l'alias utilise pour identifier le chroot d'origine selectionne. Les variables d'environnement, potentiellement dangereuses, suivantes sont retirees par defaut pour des raisons de securite : 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 necessaire, la cle de configuration environment-filter permettra de modifier la liste d'exclusion. Consultez schroot.conf(5) pour plus de details. FICHIERS Fichiers de configuration /etc/schroot/schroot.conf Le fichier de configuration des chroots pour l'ensemble du systeme. Ce fichier doit etre possede par l'utilisateur root et etre non inscriptible par les autres. /etc/schroot/chroot.d Des definitions de chroot supplementaires peuvent etre placees dans des fichiers de ce repertoire. Elles sont traitees de la meme facon que /etc/schroot/schroot.conf. Chaque fichier peut contenir une ou plusieurs definitions de chroot. Notez que les fichiers de ce repertoire suivent les memes regles de denomination que run-parts(8) lorsqu'ils sont executes avec l'option --lsbsysinit. /etc/schroot/setup.d Le repertoire de scripts de mise en place de chroot pour l'ensemble du systeme. Consultez schroot-setup(5). /etc/pam.d/schroot Configuration de PAM. Repertoires systemes /usr/lib/schroot Repertoire contenant les programmes d'assistance utilises par les scripts de mise en place. Repertoires de sessions Chaque repertoire contient un repertoire ou un fichier avec le nom de chaque session. Tous les types de chroot n'utilisent pas tous les repertoires ci-dessous. /var/lib/schroot/session Repertoire contenant la configuration de session pour chaque session active. /var/run/schroot/mount Repertoire utilise pour monter le systeme de fichiers utilise pour chaque session active. /var/lib/schroot/union/underlay Repertoire utilise comme source d'union de systemes de fichiers (sous-couche). /var/lib/schroot/union/overlay Repertoire utilise comme sur-couche inscriptible pour l'union de systemes de fichiers. /var/lib/schroot/unpack Repertoire utilise pour le depaquetage de chroots de fichiers. AUTEURS Roger Leigh. COPYRIGHT Copyright (C) 2005-2012 Roger Leigh schroot est un logiciel libre : vous pouvez le redistribuer et/ou le modifier aux conditions definies dans la licence publique generale GNU telle que publiee par la Free Software Foundation, version 2 ou, selon votre preference, toute version ulterieure. VOIR AUSSI dchroot(1), sbuild(1), chroot(2), schroot.conf(5), schroot-setup(5), schroot-faq(7), run-parts(8). TRADUCTION Ce document est une traduction, realisee par Thomas Blein le 30 mai 2012. L'equipe de traduction a fait le maximum pour realiser une adaptation francaise de qualite. La version anglaise de ce document est toujours consultable en ajoutant l'option << -L C >> a la commande man. N'hesitez pas a signaler a l'auteur ou a la liste de traduction , selon le cas, toute erreur dans cette page de manuel. Aug 14 SCHROOT(1)