Scroll to navigation

SCHROOT-SETUP(5) 2014 SCHROOT-SETUP(5)

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 idempotentsd 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

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é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.
Définir à ‘true’ si une session sera créée, sinon ‘false’.
Définir à ‘true’ si une session sera clonée, sinon ‘false’.
Définir à ‘true’ si une session sera purgée, sinon ‘false’.
Définir à ‘true’ si une session sera créée à partir d'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.

Variables pour les chroots « plain » et « directory »

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

Variables pour les chroots fichier (« file »)

Le fichier contenant les fichiers du chroot.
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.

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.

Variables pour les chroots d'union de systèmes de fichiers

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

Variables des périphériques de type bloc

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.

Variables d'instantané LVM

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

Variables personnalisées

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

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.

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.

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é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.

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

05 May