SCHROOT-SETUP(5) 2022 SCHROOT-SETUP(5) BEZEICHNUNG schroot-setup - Schroot-Einrichtungsskripte fur Chroots BESCHREIBUNG schroot benutzt Skripte, um die Chroot-Umgebung einzurichten und dann zu bereinigen. Das Verzeichnis /etc/schroot/setup.d enthalt Skripte, die beim Erstellen und Zerstoren einer Chroot ausgefuhrt werden. Wahrend das Skript ausgefuhrt wird, werden mehrere Umgebungsvariablen gesetzt, die eine Anpassung ihres Verhaltens ermoglichen, abhangig zum Beispiel vom Typ der benutzten Chroot. Die Skripte werden in namentlicher Reihenfolge gestartet, wie diejenigen, die von init(8) ausgefuhrt werden, indem der selbe Ausfuhrungsstil wie bei run-parts(8) benutzt wird. Die Einrichtungsskripte werden alle auf mit zwei Optionen aufgerufen: 1 der durchgefuhrten Aktion Wenn eine Sitzung zun ersten Mal gestartet wird, wird die Chroot durch Ausfuhren der Skripte in /etc/schroot/setup.d mit der Option >>setup-start<< eingerichtet. Wenn die Sitzung beendet wird, werden die Skripte in umgekehrter Reihenfolge mit der Option >>setup-stop<< ausgefuhrt. 2 dem Chroot-Status Dieser ist entweder >>ok<<, falls es keine Probleme gibt oder >>fail<<, falls etwas schiefgeht. Bestimmte Aktionen konnten bei einem Scheitern ubersprungen werden. Beachten Sie, dass die Skripte idempotent sein sollten. Sie mussen wahrend der >>setup-stop<<-Phase idempotent sein, da sie mehr als einmal ausgefuhrt werden konnen, beispielsweise bei Fehlschlagen. UMGEBUNGSVARIABLEN Allgemeine Variablen AUTH_USER der Benutzername des Anwenders, unter dem der Befehl in der Chroot ausgefuhrt wird CHROOT_NAME der Chroot-Name. Beachten Sie, dass dies der Name der Original-Chroot vor dem Erstellen der Sitzung ist. Moglicherwiese mochten Sie SESSION_ID. LIBEXEC_DIR das Verzeichnis, in dem Hilfsprogramme liegen MOUNT_DIR das Verzeichnis, unter dem Nichtdateisystem-Chroots eingehangt werden (z.B. Blockspeichergerate oder LVM-Schnappschusse) PID die Prozesskennung des Schroot-Prozesses PLATFORM die Betriebssystemplattform, auf der Schroot lauft. Dies kann benutzt werden, um ein plattformspezifisches Verhalten in den Einrichtungsskripten einzuleiten, wo notig. Beachten Sie, dass die HOST-Variablen wahrscheinlich erforderlich sind. Im Kontext von Schroot ist die Plattform die unterstutzte Konfiguration und das Verhalten fur eine angegebene Architektur. Sie kann zwischen unterschiedlichen Architekturen identisch sein. SESSION_ID die Sitzungskennung VERBOSE auf >>quiet<< gesetzt, falls nur Fehlermeldungen ausgegeben werden sollen, >>normal<<, wenn auch andere Meldungen ausgegeben werden sollen und >>verbose<<, falls alle Meldungen ausgegeben werden konnen. Vorher wurde AUTH_VERBOSITY aufgerufen. CHROOT_SESSION_CREATE auf >>true<< gesetzt, falls eine Sitzung erstellt wird, andernfalls auf >>false<< CHROOT_SESSION_CLONE auf >>true<< gesetzt, falls eine Sitzung geklont wird, andernfalls auf >>false<< CHROOT_SESSION_PURGE auf >>true<< gesetzt, falls eine Sitzung vollstandig geloscht wird, andernfalls auf >>false<< CHROOT_SESSION_SOURCE auf >>true<< gesetzt, falls eine Sitzung von einer Source-Chroot wird erstellt, andernfalls auf >>false<< CHROOT_TYPE der Typ der Chroot. Dies ist nutzlich, um eine Einrichtungsaufgabe auf bestimmte Chroot-Typen zu beschranken (z.B. nur Blockspeichergerate oder LVM-Schnappschusse). CHROOT_NAME der Name der Chroot. Dies ist nutzlich, um eine Einrichtungsaufgabe auf eine bestimmte Chroot oder einen Satz von Chroots einzuschranken. CHROOT_ALIAS der Name des Aliases, der zum Auswahlen der Chroot benutzt wird. Dies ist nutzlich, um eine Einrichtungsaufgabe basierend auf einem der alternativen Aliasnamen oder des Standard-Chroot-Namens zu spezialisieren. Er konnte zum Beispiel benutzt werden, um zusatzliche Quellen in /etc/apt/sources.list anzugeben wie einen Stable-Security-Alias fur eine Stable-Chroot oder einen Experimental-Alias fur eine Unstable-Chroot. CHROOT_DESCRIPTION die Beschreibung der Chroot CHROOT_MOUNT_LOCATION der Speicherort zum Einhangen der Chroot. Er wird fur das Erstellen und Einhangen von Einhangepunkten benutzt. CHROOT_LOCATION der Speicherort der Chroot unterhalb des Einhangepunkts. Dies soll mehrere Chroots auf einem einzelnen Dateisystem ermoglichen. Es ist fur alle einhangbaren Chroot-Typen gesetzt. CHROOT_PATH der absolute Pfad zur Chroot. Dies sind normalerweise CHROOT_MOUNT_LOCATION und CHROOT_LOCATION aneinandergehangt. Dies ist der Pfad, der zum Zugriff auf die Chroots benutzt werden sollte. einfache und Verzeichnis-Chroot-Variablen Diese Chroot-Typen verwenden nur allgemeine Variablen. Dateivariablen CHROOT_FILE die Datei, die die Chroot-Dateien anthalt CHROOT_FILE_REPACK auf >>true<< gesetzt, um die Chroot beim Ende einer Sitzung neu in eine Archivdatei zu packen, andernfalls auf >>false<< einhangbare Chroot-Variablen Diese Variablen werden nur fur direkt einhangbare Chroot-Typen gesetzt. CHROOT_MOUNT_DEVICE das einzuhangende Gerat, das die Chroot enthalt CHROOT_MOUNT_OPTIONS Optionen, die an mount(8) weitergereicht werden CHROOT_LOCATION der Speicherort der Chroot unterhalb des Einhangepunkts. Dies ermoglicht die Existenz mehrerer Chroots auf einem einzelnen Dateisystem. vereinte Dateisystemvariablen CHROOT_UNION_TYPE vereinter Dateisystemtyp CHROOT_UNION_MOUNT_OPTIONS vereinte Dateisystemeinhangeoptionen CHROOT_UNION_OVERLAY_DIRECTORY vereintes dateisystemuberlagerndes (beschreibbares) Verzeichnis CHROOT_UNION_UNDERLAY_DIRECTORY vereintes unter dem Dateisystem liegendes (nur lesbares) Verzeichnis Variablen fur Blockspeichergerate CHROOT_DEVICE das Gerat, das das Root-Dateisystem der Chroot enthalt. Dies ist ublicherweise aber nicht notwendigerweise das Gerat, das eingehangt wird. Dies wird zum Beispiel fur einen LVM-Schnappschuss der Originaldatentrager sein. LVM-Schnappschussvariablen CHROOT_LVM_SNAPSHOT_NAME Schnappschussname, der an lvcreate(8) weitergereicht wird CHROOT_LVM_SNAPSHOT_DEVICE der Names des LVM-Schnappschuss-Gerats CHROOT_LVM_SNAPSHOT_OPTIONS Optionen, die an lvcreate(8) ubergeben werden Benutzerdefinierte Variablen Benutzerdefinierte Schlussel in schroot.conf werden in Grossbuchstaben umgewandelt und in der Umgebung gesetzt, wie in schroot.conf(5) beschrieben. DATEIEN Einrichtungsskriptkonfiguration Das Verzeichnis /etc/schroot/default enthalt die von Einrichtungsskripten benutzten Standardeinstellungen. config Hauptkonfigurationsdatei, die von Einrichtungsskripten gelesen wird. Das Format dieser Datei wird in schroot-script-config(5) beschrieben. Dies ist der Standardwert fur den Schlussel script-config. Beachten Sie, dass dies fruher /etc/schroot/script-defaults hiess. Auf die folgenden Werte wird standardmassig verwiesen: copyfiles eine Liste von Dateien, die vom Wirtsystem in die Chroot kopiert wird. Beachten Sie, dass diese fruher /etc/schroot/copyfiles-defaults hiess. fstab eine Datei im Format, das in fstab(5) beschrieben wird. Sie wird benutzt, um Dateisysteme innerhalb der Chroot einzuhangen. Der Einhangeort ist relativ zum Wurzelverzeichnis der Chroot. Beachten Sie, dass diese fruher /etc/schroot/mount-defaults hiess. nssdatabases Systemdatenbanken (wie in /etc/nsswitch.conf auf GNU/Linux-Systemen beschrieben), die vom Wirtsystem in die Chroot kopiert werden. Beachten Sie, dass diese fruher /etc/schroot/nssdatabases-defaults hiess. Einrichtungsskripte Das Verzeichnis /etc/schroot/setup.d enthalt die Chroot-Einrichtungsskripte. 00check gibt Fehlersuchdiagnosen aus und fuhrt einfache Plausibilitatsprufungen durch. 05file entpackt, raumt auf und packt dateibasierte Chroots erneut. 05fsunion erstellt und entfernt vereinte Dateisysteme. 05lvm erstellt und entfernt LVM-Schnappschusse. 10mount hangt Dateisysteme ein und aus. 15binfmt richtet den QEMU-Benutzer-Emulator mittels Binfmt-Unterstutzung ein. Dies ermoglicht die transparente Benutzung einer Chroot fur eine andere CPU-Architektur, was eine Alternative zum Cross-Kompilieren der ganzen Maschinen-Emulation bietet. 15killprocs killt Prozesse, die immer noch innerhalb einer Chroot laufen, wenn eine Sitzung beendet wird, was ein Aushangen von Dateisystemen und Aufraumen anderer Ressourcen verhindern wurde. 20copyfiles kopiert Dateien vom Wirtsystem in die Chroot, konfiguriert Netzwerkbetrieb zum Beispiel durch Kopieren von hosts und resolv.conf. 20nssdatabases konfiguriert Systemdatenbanken durch Kopieren von >>passwd<<, >>shadow<<, >>group<< etc. in die Chroot. 50chrootname setzt den Chroot-Namen (/etc/debian_chroot) in der Chroot. Dies kann von der Shell-Eingabeaufforderung benutzt werden, um die aktuelle Chroot anzuzeigen. AUTOR Roger Leigh COPYRIGHT Copyright (C) 2005-2012 Roger Leigh schroot ist freie Software. Sie konnen es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veroffentlicht, weitergeben und/oder modifizieren, entweder gemass Version 3 der Lizenz oder (nach Ihrer Option) jeder spateren Version. SIEHE AUCH schroot(1), fstab(5), schroot.conf(5), schroot-script-config(5), run-parts(8) Aug 14 SCHROOT-SETUP(5)