SCHROOT-SETUP(5) 2022 SCHROOT-SETUP(5)

schroot-setup — scripts de mise en place des chroots schroot

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 idempotents pendant la phase ‘setup-stop’, car ils pourraient être exécutés plus d'une fois, par exemple en cas d'échec.

Le nom d'utilisateur sous lequel la commande sera exécutée dans le chroot.
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.
Le répertoire dans lequel les programmes d'assistance sont situés.
Le répertoire dans lequel les chroots non système de fichiers sont montés (par exemple périphériques de blocs et instantanés LVM).
L'identifiant de processus du processus schroot.
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.
Identifiant de session.
Défini à ‘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.
Défini à ‘true’ si une session doit être créée, sinon ‘false’.
Défini à ‘true’ si une session doit être clonée, sinon ‘false’.
Défini à ‘true’ si une session doit être purgée, sinon ‘false’.
Défini à ‘true’ si une session doit être créée depuis un chroot source, sinon ‘false’.
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 instantanés LVM).
Le nom du chroot. C'est utile pour restreindre une tâche de mise en place à un chroot particulier ou un ensemble de chroots.
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 d'un de ses noms d'alias ou du 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 ».
Description du chroot.
Le lieu de montage du chroot. Il est utilisé pour la création et le montage des points de montage.
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.
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.

Ces types de chroot utilisent uniquement les variables générales.

Le fichier contenant les fichiers du chroot.
Défini à ‘true’ pour recompacter le chroot dans une archive à la fin de la session, sinon ‘false’.

Ces variables sont seulement définies pour les types de chroot montables directement.

Le périphérique à monter contenant le chroot.
Les options à passer à mount(8).
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.

Type d'union de systèmes de fichiers.
Options de montage des unions de systèmes de fichiers.
Répertoire pour la sur-couche (« overlay ») de l'union de systèmes de fichiers (inscriptible).
Répertoire pour la sous-couche (« underlay ») de l'union de systèmes de fichiers (lecture-seule).

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 instantané LVM, ce sera le volume logique initial.

Nom de l'instantané à passer à lvcreate(8).
Le nom du périphérique de l'instantané LVM.
Les options à passer à lvcreate(8).

Les clés personnalisées définies dans schroot.conf seront mises en capitales et définies dans l'environnement comme décrit dans schroot.conf(5).

Le répertoire /etc/schroot/default contient les configurations par défaut utilisées par les scripts de mise en place.

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 :
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.
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.
Bases 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 cela était nommé /etc/schroot/nssdatabases-defaults.

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écuter 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èmes de fichiers.
05lvm
Créer et enlever les instantané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, configurer 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.

Roger Leigh.

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.

schroot(1), fstab(5), schroot.conf(5), schroot-script-config(5), run-parts(8).

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.

14 Aug