NOM¶
schroot-setup — scripts de mise en place des chroots schroot
DESCRIPTION¶
schroot utilise des scripts pour mettre en place et ensuite nettoyer les
environnements de chroot. Le répertoire
/etc/schroot/setup.d contient des scripts qui sont
exécutés lorsque un chroot est créé ou
détruit. Plusieurs variables d'environnements sont définies
quand les scripts sont exécutés, ce qui permet de personnaliser
leur comportement, par exemple en fonction du type de chroot utilisé.
L'exécution des scripts se fait suivant l'ordre lexical des noms, comme
pour ceux exécutés par
init(8), en utilisant le
même style d'exécution que
run-parts(8).
Les scripts de mise en place sont tous invoqués avec deux
options :
- 1
- L'action à effectuer.
- Quand une session est lancée, le chroot est mis en place en
exécutant les scripts dans /etc/schroot/setup.d avec l'option
‘setup-start’. Quand la session est terminée, les
scripts dans /etc/schroot/setup.d sont exécutés dans
l'ordre inverse avec l'option ‘setup-stop’.
- 2
- Le statut du chroot.
- C'est soit ‘ok’ s'il n'y a aucun problème, soit
‘fail’ si quelque chose s'est mal passé. Par exemple,
certaines actions pourraient être ignorées en cas
d'échec.
Notez que les scripts devraient être
idempotent. Ils
doivent être idempotent pendant la phase
‘setup-stop’, car ils pourraient être
exécutés plus d'une fois, par exemple en cas d'échec.
ENVIRONNEMENT¶
Variables générales¶
- AUTH_USER
- Le nom d'utilisateur sous lequel la commande sera exécutée
dans le chroot.
- CHROOT_NAME
- Le nom du chroot. Notez que c'est le nom du chroot d'origine avant la
création de session ; vous voulez probablement
SESSION_ID.
- LIBEXEC_DIR
- Le répertoire dans lequel les programmes d'assistance sont
localisés.
- MOUNT_DIR
- Le répertoire dans lequel les chroots non système de
fichiers sont montés (par exemple périphériques de
blocs et clichés LVM).
- PID
- L'identifiant de processus du processus schroot.
- PLATFORM
- Le système d'exploitation de la plate-forme sur laquelle schroot
est exécuté. Il peut être utilisé pour
introduire des comportements dépendant de la plate-forme dans les
scripts de mise en place quand cela est nécessaire. Notez que les
variables HOST sont probablement ce qui est requis. Dans le contexte de
schroot, la plate-forme est la configuration prise en charge et le
comportement pour une architecture donnée, et peut être
identique parmi plusieurs architectures.
- SESSION_ID
- Identifiant de session.
- VERBOSE
- Définir à ‘quiet’ si seuls les messages
d'erreur doivent être affichés, ‘normal’ pour
afficher plus de messages et ‘verbose’ si tous les messages
doivent être affichés. Précédemment
appelée AUTH_VERBOSITY.
- CHROOT_SESSION_CREATE
- Définir à ‘true’ si une session sera
créée, sinon ‘false’.
- CHROOT_SESSION_CLONE
- Définir à ‘true’ si une session sera
clonée, sinon ‘false’.
- CHROOT_SESSION_PURGE
- Définir à ‘true’ si une session sera
purgée, sinon ‘false’.
- CHROOT_TYPE
- Le type de chroot. C'est utile pour restreindre une tâche de mise
en place à des types de chroot particuliers (par exemple seulement
les périphériques de blocs ou les clichés LVM).
- CHROOT_NAME
- Le nom du chroot. C'est utile pour restreindre une tâche de mise en
place à un chroot particulier ou un ensemble de chroots.
- CHROOT_ALIAS
- Le nom de l'alias utilisé pour sélectionner le chroot. C'est
utile pour spécialiser une tâche de mise en place en
fonction de l'un de ses noms d'alias, ou le nom par défaut du
chroot. Par exemple, il peut être utilisé pour
spécifier des sources additionnelles dans
/etc/apt/sources.list, comme un alias
« stable-security » pour un chroot
« stable », ou un alias
« experimental » pour un chroot
« unstable ».
- CHROOT_DESCRIPTION
- Description du chroot.
- CHROOT_MOUNT_LOCATION
- Le lieu de montage du chroot. Il est utilisé pour la
création et le montage des points de montage.
- CHROOT_LOCATION
- La localisation du chroot à l'intérieur du point de montage.
Cela permet d'autoriser plusieurs chroots sur un système de
fichiers unique. Définie pour l'ensemble des types de chroot.
- CHROOT_PATH
- Le chemin absolu du chroot. C'est typiquement CHROOT_MOUNT_LOCATION et
CHROOT_LOCATION concaténés ensemble. C'est le chemin qui
doit être utilisé pour accéder aux chroots.
Variables pour les chroots « plain » et « directory »¶
Ces types de chroot utilisent uniquement les variables générales.
Variables pour les chroots fichier (« file »)¶
- CHROOT_FILE
- Le fichier contenant les fichiers du chroot.
- CHROOT_FILE_REPACK
- Définir à ‘true’ pour recompacter le chroot
dans une archive à la fin de la session, sinon
‘false’.
Variables pour les chroots montables¶
Ces variables sont seulement définies pour les types de chroot montables
directement.
- CHROOT_MOUNT_DEVICE
- Le périphérique à monter contenant le chroot.
- CHROOT_MOUNT_OPTIONS
- Les options à passer à mount(8).
- CHROOT_LOCATION
- La localisation du chroot à l'intérieur du point de montage.
Permet d'autoriser l'existence de plusieurs chroots sur un système
de fichiers unique.
Variables pour les chroots d'union de systèmes de fichiers¶
- CHROOT_UNION_TYPE
- Type d'union de systèmes de fichiers.
- CHROOT_UNION_MOUNT_OPTIONS
- Options de montage des unions de systèmes de fichiers.
- CHROOT_UNION_OVERLAY_DIRECTORY
- Répertoire pour la sur-couche
(« overlay ») de l'union de systèmes de
fichiers (inscriptible).
- CHROOT_UNION_UNDERLAY_DIRECTORY
- Répertoire pour la sous-couche
(« underlay ») de l'union de systèmes
de fichiers (lecture-seule).
Variables des périphériques de type bloc¶
- CHROOT_DEVICE
- Le périphérique contenant le système de fichiers root
du chroot. C'est normalement, mais non nécessairement, le
périphérique qui sera monté. Par exemple pour un
cliché LVM, ce sera le volume logique initial.
Variables de clichés LVM¶
- CHROOT_LVM_SNAPSHOT_NAME
- Nom du cliché à passer à lvcreate(8).
- CHROOT_LVM_SNAPSHOT_DEVICE
- Le nom du périphérique de cliché LVM.
- CHROOT_LVM_SNAPSHOT_OPTIONS
- Les options à passer à lvcreate(8).
Variables personnalisées¶
Les clés personnalisées définies dans
schroot.conf
seront capitalisées et définies dans l'environnement comme
décrit dans
schroot.conf(5).
FICHIERS¶
Configuration des scripts de mise en place¶
Le répertoire
/etc/schroot/default contient les
configurations par défaut utilisées par les scripts de mise en
place.
- config
- Fichier de configuration principal lu par les scripts de mise en place. Le
format de ce fichier est décrit dans
schroot-script-config(5). C'est la valeur par défaut pour la
clé script-config. Notez que précédemment il
était nommé /etc/schroot/script-defaults. Les
fichiers suivants sont référencés par
défaut :
- copyfiles
- Une liste des fichiers à copier dans le chroot à partir du
système hôte. Notez que précédemment elle
était nommée /etc/schroot/copyfiles-defaults.
- fstab
- Un fichier au format décrit dans fstab(5), utilisé
pour monter les systèmes de fichiers dans le chroot. Le point de
montage est relatif à la racine du chroot. Notez que
précédemment il était nommé
/etc/schroot/mount-defaults.
- nssdatabases
- Base de données système (comme décrit dans
/etc/nsswitch.conf sur les systèmes GNU/Linux) à
copier dans le chroot depuis l'hôte. Notez que
précédemment elle était nommée
/etc/schroot/nssdatabases-defaults.
Scripts de mise en place¶
Le répertoire
/etc/schroot/setup.d contient les scripts de
mise en place des chroots.
- 00check
- Afficher les diagnostics de débogage et exécute des
vérifications d'intégrité.
- 05file
- Décompresser, nettoyer, et recompresser les chroots basés
sur les fichiers.
- 05fsunion
- Créer et enlever les unions de système de fichiers.
- 05lvm
- Créer et enlever les clichés LVM.
- 10mount
- Monter et démonter les systèmes de fichiers.
- 15binfmt
- Mettre en place l'émulateur QEMU en utilisant binfmt-support. Cela
permet d'utiliser de manière transparente un chroot pour une
architecture CPU différente, fournissant une alternative à
la compilation croisée ou à l'émulation d'une machine
complète.
- 15killprocs
- Tuer les processus qui continuent à s'exécuter dans le
chroot quand une session se termine et qui pourraient empêcher le
démontage des systèmes de fichiers et le nettoyage des
autres ressources.
- 20copyfiles
- Copier les fichiers depuis le système hôte dans le chroot.
Par exemple, configure le réseau en copiant hosts et
resolv.conf.
- 20nssdatabases
- Configurer les bases de données du système en copiant
passwd, shadow, group, etc. dans le chroot.
- 50chrootname
- Définir le nom de chroot (/etc/debian_chroot) dans le
chroot. Il peut être utilisé par une invite de commande pour
afficher le chroot courant.
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¶
schroot(1),
fstab(5),
schroot.conf(5),
schroot-script-config(5),
run-parts(8).