Man page - schroot(1)
Packages contains this manual
Available languages:
en fr deManual
SCHROOT
NOMRĂSUMĂ
DESCRIPTION
APERĂU
OPTIONS
Actions
Options générales
Sélection de chroots.
Environnement de chroot
Actions de session
Options de session
Séparateur
AUTHENTIFICATION
ESPACES DE NOMS CHROOT
Bases des espaces de noms
Chroots source
Chroots session
Actions et espaces de noms par défaut
PERFORMANCES
RĂPERTOIRES DE SUBSTITUTION
Interpréteur de commande de connexion
Commande
utilisation de --directory
Débogage
EXEMPLES
Lister les chroots disponibles
RĂ©cupĂ©rer les informations dâun chroot
Exécuter des commandes dans un chroot
Changer dâutilisateur
Sessions
DĂPANNAGES
BOGUES
ENVIRONNEMENT
FICHIERS
Fichiers de configuration
Répertoires systÚmes
Répertoires de sessions
AUTEURS
COPYRIGHT
VOIR AUSSI
TRADUCTION
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 commande de connexion 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. Cela est Ă©quivalent Ă â--chroot=defaultâ.
APERĂU
Il est souvent nĂ©cessaire 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Ă©cuter des 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, par exemple 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. |
||
|
âą |
Construire automatiquement des paquets Debian en utilisant sbuild (1) qui construit chaque paquet dans un instantané chroot dédié quand les instantanés LVM ou les unions sont utilisés. |
||
|
âą |
Prendre en charge des images multiples de systĂšmes dans une installation de grappe 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 de la grappe pour les chroots dont ils ont besoin (ce qui peut inclure des accĂšs root pour les utilisateurs de confiance afin quâils puissent entretenir leurs propres images) |
Un chroot peut ĂȘtre utilisĂ© directement en exĂ©cutant chroot (8), mais les utilisateurs standard 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 ordinaire 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 fichiers, incluant les instantanĂ©s LVM et Btrfs et les montages « loopback », ou composĂ© dâune surcouche unionfs. schroot Ă©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 si elle est utilisĂ©e avec un interprĂ©teur de commande de connexion (« login shell »), aucune commande nâĂ©tant 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 seuls 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 renvoyĂ© 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 ordinaires, 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, par exemple les instantanĂ©s LVM ou Btrfs, fournissent des instantanĂ©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 crĂ©ation dâinstantanĂ©. Ce sont des chroots ordinaires Ă©galement, mais dĂ©sactivant la crĂ©ation dâinstantanĂ©. 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âavaient 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 ambiguĂŻtĂ©, 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 dâinstantanĂ©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
Commande
Aucune solution de repli ne devrait exister en toute circonstance.
utilisation de --directory
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 --all ou -c 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 Ă lâaide dâun pipe 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 renvoyĂ© 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 valables 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 Ă niveau votre noyau vers une version plus rĂ©cente.
The default execution of a login shell is silently changed to a regular shell if at least one of --preserve-environment or command-prefix is used.
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Ăšmes de fichiers (sous-couche).
/var/lib/schroot/union/overlay
RĂ©pertoire utilisĂ© comme sur-couche inscriptible pour lâunion de systĂšmes 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@codelibre.net>
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), schroot.conf (5), schroot-setup (5), schroot-faq (7), run-parts (8).
TRADUCTION
Ce document est une traduction, réalisée par Thomas Blein le 30 mai 2012.
LâĂ©quipe de traduction a fait le maximum pour rĂ©aliser une adaptation française de qualitĂ©.
La version anglaise de ce document est toujours consultable en ajoutant lâoption « -L C » Ă la commande man .
NâhĂ©sitez pas Ă signaler Ă lâauteur ou Ă la liste de traduction < debian-l10n-french@lists.debian.org >, selon le cas, toute erreur dans cette page de manuel.