Provided by: multistrap_2.2.11_all bug

NAME

       multistrap - Bootstraps für mehrere Depots

ÜBERSICHT

        multistrap [-a ARCH] [-d VERZ] -f KONFIGURATIONSDATEI
        multistrap [--simulate] -f KONFIGURATIONSDATEI
        multistrap -?|-h|--help|--version

OPTIONEN

       -?|-h|--help|--version - den Hilfetext ausgeben und erfolgreich beenden

       --dry-run - alle Konfigurationseinstellungen zusammenstellen und eine Kurzfassung ausgeben

       --simulate - entspricht --dry-run

       (Die folgenden Optionen können auch in der Konfigurationsdatei gesetzt werden.)

       a|--arch - Architektur der Pakete, die in den Multistrap hineinkommen

       -d|--dir - Verzeichnis in das der Bootstrap installiert wird

       -f|--file - Konfigurationsdatei für Multistrap [erforderlich]

       -s|--shortcut - verkürzte Version von -f für Dateien an bekannten Orten

       --tidy-up - die Apt-Zwischenspeicherdaten, heruntergeladene Paketdateien und den Apt-
       Paketzwischenspeicher entfernen. Entspricht cleanup=true.

       --no-auth - die Benutzung von nicht authentifizierten Depots erlauben. Entspricht noauth=true

       --source-dir VERZ - verschiebt die Inhalte von var/cache/apt/archives/ aus der Chroot in das angegebene
       externe Verzeichnis und fügt dann die Debian-Quellpakete für jedes benutzte Programm hinzu. Entspricht
       retainsources=VERZ. Falls das angegebene Verzeichnis nicht existiert, passiert nichts. Benötigt
       --tidy-up, um die vollständige Liste der Quellpakete einschließlich Abhängigkeiten zu berechnen.

BESCHREIBUNG

       Multistrap stellt mehrere Debootstrap ähnliche Methoden bereit, die auf APT basieren, erweitert um die
       Unterstützung für mehrere Depots; dabei wird eine Konfigurationsdatei verwendet, um relevante Suites,
       Architekturen, zusätzliche Pakete und den Spiegel anzugeben, die für jeden Bootstrap benutzt werden.

       Das Ziel ist es, ein komplettes Bootstrap-/Wurzeldateisystem mit allen installierten und konfigurierten
       Paketen zu erstellen, statt nur eines Basissystems.

       In den meisten Fällen möchten Anwender die Konfigurationsdatei für jede unterschiedliche Multistrap-
       Benutzung erstellen.

       Beispielkonfiguration:

        [General]
        arch=armel
        directory=/opt/multistrap/
        # entspricht der Option --tidy-up, falls auf »true« gesetzt
        cleanup=true
        # entspricht der Option --no-auth, falls auf »true« gesetzt
        # pro Bootstrap aufgeführte Keyring-Pakete werden trotzdem installiert
        noauth=false
        # alle heruntergeladenen Pakete extrahieren (Vorgabe ist »true«).
        unpack=true
        # ob die »/suite« hinzugefügt wird, um explizit festzulegen, wo APT
        # nach Paketen suchen muss. (Vorgabe ist »false«)
        explicitsuite=false
        # aktiviert Multiarch für die angegebenen Architekturen
        # Vorgabe ist leer
        multiarch=
        # »aptsources« ist eine Liste von Abschnitten, die die
        # /etc/apt/sources.list.d/multistrap.sources.list des Ziels benutzen.
        # Die Reihenfolge spielt keine Rolle.
        aptsources=Debian
        # Die Bootstrap-Option legt fest, welches Depot zur Berechnung der
        # Prioritätsliste benutzt wird: Benötigte Pakete und welche Pakete in das
        # Wurzeldateisystem wandern.
        # Die Reihenfolge der Abschnitte spielt keine Rolle.
        bootstrap=Debian

        [Debian]
        packages=
        source=http://ftp.uk.debian.org/debian
        keyring=debian-archive-keyring
        suite=jessie

       This will result in a completely normal bootstrap of Debian Jessie from the specified mirror, for armel
       in '/opt/multistrap/'. (This configuration is retained in the package as
       /usr/share/multistrap/jessie.conf)

       Geben Sie ein Paket zur Erweiterung von Multistrap an, um das Paket und alle Abhängigkeiten des Pakets
       einzufügen.

       Geben Sie weitere Depots für den Bootstrap an, indem Sie neue Abschnitte hinzufügen. Abschnittsnamen
       müssen für die Pakete in der »Bootstrap«-Option unter [General] aufgelistet sein, um in den Bootstrap
       eingefügt zu werden.

       Geben Sie durch Auflisten der Abschnittsnamen in der «aptsources«-Option unter [General] an, welche
       Depots im fertigen System beim Start verfügbar sein sollen, z.B. um einige interne Quellen auszuschließen
       oder wenn ein lokaler Spiegel beim Erstellen des Wurzeldateisystems benutzt wird.

       Abschnittsnamen sind von Groß- und Kleinschreibung unabhängig

       Alle Abhängigkeiten werden nur durch Apt unter Benutzung aller Bootstrap-Depots aufgelöst, um nur die
       neusten und tauglichsten Abhängigkeiten zu benutzen. Beachten Sie, dass Multistrap
       Installationsempfehlungen ignoriert, so dass ein Paket, das von Multistrap benötigt wird und das nur eine
       empfohlene Abhängigkeit hat, explizit in der Paketzeile angegeben werden muss. Lesen Sie "Explizite
       Angabe der Suite", um weitere Informationen über den Erhalt spezieller Pakete von speziellen Suites zu
       bekommen.

       »architecture« und »directory« können auf der Befehlszeile überschrieben werden. Einige andere allgemeine
       Optionen besitzen auch Befehlszeilenoptionen.

Online examples and documentation

       "multistrap" supports a range of permutations, see the wiki and the emdebian website for more information
       and example configurations:

       http://wiki.debian.org/Multistrap

       http://www.emdebian.org/multistrap/

       "multistrap" includes an example configuration file with a full list of all supported config file
       options: /usr/share/doc/multistrap/examples/full.conf

Kürzel

       Auf eine ähnliche Weise wie "Debootstrap" unterstützt "Multistrap" auf Konfigurationsdateien an bekannten
       Orten über Kürzel Bezug zu nehmen. Wenn die Option "--shortcut" benutzt wird, wird Multistrap in
       /usr/share/multistrap und dann in /etc/multistrap.d/ nach Dateien suchen. Dabei wird eine
       ».conf«-Erweiterung an das angegebene Kürzel angehängt.

       Diese beiden Befehle sind gleichwertig:

        $ sudo multistrap -s sid
        $ sudo multistrap -f /usr/share/multistrap/sid.conf

       Beachten Sie, dass "Multistrap" auch weiterhin scheitern wird, wenn die Konfigurationsdatei nicht das
       Verzeichnis oder die Architektur setzt.

Depots

       "aptsources" listet die Abschnitte auf, die benutzt werden sollen, um die
       /etc/apt/sources.list.d/multistrap.list-Apt-Quellen im fertigen System zu erstellen. Nicht alle
       "aptsources" müssen im Abschnitt "Bootstrap" erscheinen, falls Sie interne oder lokale Quellen haben, die
       für das installierte Wurzel-Dateisystem nicht verfügbar sind.

       "aptsources" listet die Abschnitte auf, die benutzt werden sollen, um Multistrap selbst zu erstellen. Nur
       Pakete, die in "Bootstrap" aufgelistet sind, werden durch den Multistrap heruntergeladen und entpackt.

       Stellen Sie sicher, dass "Bootstrap" alle Abschnitte auflistet, die Sie für Apt benötigen, um in der Lage
       zu sein alle Pakete zu finden, die für den Multistrap entpackt werden.

       (Ältere Versionen von Multistrap unterstützen die gleiche Option unter dem "Debootstrap"-Namen – diese
       Schreibweise wird immer noch unterstützt, aber neuere Versionen sollten stattdessen "Bootstrap" benutzen.

Allgemeine Einstellungen:

       »arch« kann auf der Befehlszeile mit der Option "--arch" überschrieben werden.

       »directory« gibt das Verzeichnis auf der obersten Ebene an, auf der der Bootstrap erstellt wird – es wird
       nicht in ein .tgz gepackt, sobald es vollständig ist.

       »bootstrap« listet die Abschnitte auf, die zur Angabe der Pakete benutzt werden, die in den Bootstrap
       heruntergeladen (und optional entpackt) werden.

       »aptsources« listet die Abschnitte auf, die zur Angabe der Apt-Quellen im fertigen System benutzt werden,
       z.B. falls Sie ein lokales Depot benutzen müssen, um das Wurzeldateisystem zu generieren, das dem Gerät
       zur Laufzeit nicht zur Verfügung stehen wird, führen Sie den Abschnitt in "bootstrap" auf, aber nicht in
       "aptsources".

       Wenn Sie ein Paket im Wurzel-Dateisystem haben möchten, muss es in der "Bootstrap"-Liste unter »General«
       aufgelistet sein.

       Die Reihenfolge der Abschnittsnamen in beiden Listen ist unwichtig.

       If "markauto" is set to true, "multistrap" will request apt to mark all packages specified in the
       combined "packages" list as manually installed and all dependencies not explicitly listed as
       automatically installed in the APT extended state database. "markauto" can be used independently of
       "unpack".

       Wie auch Debootstrap wird Multistrap nach Fehlern so lange fortfahren, wie die Konfigurationsdatei
       korrekt ausgewertet werden kann.

       Multistrap implementiert außerdem die Unterstützung für »machine:variant«, die ursprünglich in Emdebian-
       Crush benutzt wurde, wenngleich in einer anderen Implementierung. Bei Benutzung der stufenförmigen
       Konfigurationsunterstützung können bestimmte »machine:variant«-Kombinationen durch einfache Änderungen
       auf der Befehlszeile unterstützt werden.

       Wenn "tarballname" auf »true« gesetzt wird, wird das fertige Dateisystem zusätzlich in einen Tarball
       gepackt.

       Beachten Sie, dass Multistrap unbekannte Optionen in der Konfigurationsdatei ignoriert – dies erlaubt
       sowohl rückwärtskompatibles Verhalten als auch Überladen der Multistrap-Konfigurationsdateien, um andere
       Werkzeuge zu unterstützen (wie »pbuilder«). Benutzen Sie die Option "--simulate", um die kombinierten
       Konfigurationseinstellungen zu sehen.

       Falls jedoch die Konfigurationsdatei selbst nicht ausgewertet werden kann, wird Multistrap abgebrochen.
       Prüfen Sie, ob die Konfigurationsdatei in jeder Zeile außer in Kommentaren einen Schlüssel und einen Wert
       hat. Alle Werte müssen in der gleichen Zeile wie ihr Schlüssel stehen.

Abschnittseinstellungen

        [Debian]
        packages=
        source=http://ftp.uk.debian.org/debian
        keyring=debian-archive-keyring
        suite=jessie

       Der Abschnittsname (in »[]«-Klammern) muss in dieser Konfigurationsdatei und in allen
       Konfigurationsdateien, die in dieser enthalten sind, einmalig sein. Abschnittsnamen sind nicht von Groß-
       und Kleinschreibung abhängig (alle Vergleiche finden nach der Umwandlung in Kleinschreibung statt).

       »packages« ist die Liste der Pakete, die hinzugefügt werden, wenn dieser Abschnitt in "Bootstrap"
       aufgelistet ist – alle Paketnamen müssen in einer einzigen Zeile aufgeführt sein, sonst scheitert die
       Auswertung der Datei. Alternativ können Sie Ihre Paketliste in Form mehrerer Gruppen mit Paketen, die auf
       funktionaler Basis oder Abhängigkeitsbasis unterteilt werden, definieren z.B. base, Xorg, networking etc.
       und jede Gruppe unter »bootstrap« aufführen.

        bootstrap=base networking

        [base]
        packages=udev mtd-utils
        source=http://http.debian.net/debian
        keyring=debian-archive-keyring
        suite=jessie

        [networking]
        packages=netbase ifupdown iproute net-tools samba
        source=http://http.debian.net/debian
        keyring=debian-archive-keyring
        suite=jessie

       Als Sonderfall unterstützt "Multistrap" auch Paketschlüssel pro Abschnitt, einen je Zeile. Andere
       Schlüssel können nicht auf diese Art wiederholt werden.

        [Emdebian]
        packages=udev mtd-utils netbase ifupdown iproute
        packages=busybox net-tools samba
        source=http://http.debian.net/debian
        keyring=debian-archive-keyring
        suite=jessie

       »source« ist die APT-Quelle, die für diesen Abschnitt benutzt wird. Um eine lokale Quelle auf der
       gleichen Maschine zu benutzen, stellen Sie sicher, dass Sie "copy://" und nicht "file://" benutzen, so
       dass Apt mitgeteilt wird, dass die Pakete in das Wurzel-Dateisystem kopiert werden müssen, anstatt davon
       auszugehen, dass sie später herunterladen werden müssen – weil dieses »später« tatsächlich nie
       stattfinden wird.

       »keyring« listet die Pakete auf, die den Schlüssel enthalten, die von den Quellen in diesem Abschnitt
       benutzt werden. Falls »keyring« nicht angegeben ist, muss die Option "noauth" auf »true« gesetzt sein.
       Siehe »Secure-Apt«.

       »suite« ist die Suite, die von dieser Quelle benutzt wird. Beachten Sie, dass dies die Suite sein sollte,
       nicht der Codename.

       Suites change from time to time: (oldstable, stable, testing, sid)  The codename (squeeze, wheezy,
       jessie, sid) does not change.

Secure-Apt

       Um authentifizierte Apt-Depots zu benutzen, muss Multistrap entweder in der Lage sein, ein geeignetes
       »keyring«-Paket aus den existierenden Apt-Quellen außerhalb der Multistrap-Umgebung in das Zielsystem zu
       installieren. Leider können keyring«-Pakete nicht aus den in der Multistrap-Konfiguration angegebenen
       Depots heruntergeladen werden – dies rührt daher, dass "Apt" den »keyring« zur Aktualisierung benötigt
       bevor Depots benutzt werden können, die vorher unbekannt waren.

       Falls relevante Pakete existieren, geben Sie diese in der »keyring«-Option für jedes Depot an. Multistrap
       wird dann prüfen, ob Apt dieses Paket bereits installiert hat, so dass das Depot authentifiziert wird,
       bevor Pakete daraus heruntergeladen werden.

       Beachten Sie, dass alle Depots, die mit Multistrap benutzt werden, authentifiziert sein müssen, sonst
       schlägt Apt fehl. Gleichermaßen kann Apt-Secure nur für alle Depots ausgeschaltet werden (durch Benutzen
       der Befehlszeilenoption --no-auth oder Setzen der Option »noauth« unter [General] in der
       Konfigurationsdatei), auch wenn nur ein Depot über keinen geeigneten »keyring« verfügt.

       Die »keyring«-Pakete werden außerdem innerhalb der Multistrap-Umgebung installiert, um für die
       installierten Apt-Quellen für Multistrap passend zu sein.

Status

       Multistrap ist zustandslos – falls das Verzeichnis existiert, wird es einfach normal weitermachen und Apt
       wird nicht versuchen fortzufahren, wo es aufgehört hat.

Konfiguration des Wurzel-Dateisystems

       Multistrap entpackt die heruntergeladenen Pakete, aber andere Stufen der Systemkonfiguration werden nicht
       durchgeführt. Enthaltene Beispiele:

        /etc/inittab
        /etc/fstab
        /etc/hosts
        /etc/securetty
        /etc/modules
        /etc/hostname
        /etc/network/interfaces
        /etc/init.d
        /etc/dhcp3

       Jegliche gerätespezifischen Geräteknoten müssen außerdem unter Benutzung von MAKEDEV oder
       "device-table.pl" erstellt werden – einem Hilfsskript, das mit MAKEDEV-Problemen umgehen kann.
       device-table.pl  benötigt eine Gerätetabellendatei nach dem Vorbild derjenigen im Quellpaket »mtd-utils«.
       Siehe /usr/share/doc/multistrap/examples/device_table.txt

       Sobald Multistrap die das grundsätzliche Datei- und das Verzeichnislayout erfolgreich erstellt hat,
       werden andere gerätespezifische Skripte benötigt, bevor das Dateisystem entpackt und auf dem Zielgerät
       installiert werden kann.

       Sobald sie installiert sind, müssen die Pakete selbst unter Benutzung der Paketbetreuerskripte und "dpkg
       --configure -a" konfiguriert werden, außer wenn dies ein nativer Multistrap ist.

       Damit "Dpkg" funktioniert, müssen /proc und /sysfs eingehängt (oder einhängbar) sein, /dev/pts wird
       ebenfalls empfohlen.

       Siehe auch: http://wiki.debian.org/Multistrap

Umgebung

       Um die entpackten Pakete (ob im nativen oder Kreuzmodus) zu konfigurieren, werden bestimmte
       Umgebungsvariablen benötigt:

       Debconf muss mitgeteilt werden, dass eine Interaktion mit dem Benutzer nicht erwünscht ist:

        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true

       Perl muss mitgeteilt werden, dass es ohne Beschwerde akzeptieren soll, dass innerhalb der Chroot keine
       Locales verfügbar sind.

        LC_ALL=C LANGUAGE=C LANG=C

       Dann können die Pakete von Dpkg konfiguriert werden:

       Chroot-Methode (PFAD = Oberstes Verzeichnis der Chroot):

        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
        LC_ALL=C LANGUAGE=C LANG=C chroot /PATH/ dpkg --configure -a

       in einer Anmelde-Shell:

        # export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
        # export LC_ALL=C LANGUAGE=C LANG=C
        # dpkg --configure -a

       (Wie oben bereits erwähnt erfordert Dpkg, dass /proc und /sysfs zuerst eingehängt werden.)

Nativer Modus Multistrap

       Multistrap war nicht für native Unterstützung gedacht, es wurde entwickelt für Unterstützung über
       Architekturgrenzen hinweg. Um mehrere Depots benutzen zu können, entpackt Multistrap lediglich die von
       Apt ausgewählten Pakete.

       Im nativen Modus werden wahrscheinlich verschiedene Operationen benötigt, die Multistrap vorausgehen
       müssen; dies würde Debootstrap alles für Sie erledigen:

        1. Kopieren von /etc/hosts in den Chroot
        2. Bereinigen der Umgebung, so dass LANGUAGE, LC_ALL und LANG geleert
           werden, um störende Perl-Warnungen unterdrücken, die andere Fehler
           verschleiern könnten.

       (Eine Alternative zum Leeren der Lokalisierungsvariablen ist es, Locales zu Ihrer Multistrap-
       Konfigurationsdatei in der »packages«-Option hinzuzufügen.

       Ein natives Multistrap kann direkt mit Chroot benutzt werden, so dass "Multistrap" am Ende des
       Multistrap-Prozesses "dpkg --configure -a" ausführt, falls die Option ignorenativearch nicht im Abschnitt
       General der Konfigurationsdatei auf »true« gesetzt ist.

Daemons in Chroots

       Abhängig davon, welches System Sie benutzen, um Pakete für "Multistrap" bereitzustellen, sollten native
       Chroots Daemons nicht erlauben innerhalb des Chroots zu starten. Benutzen Sie als Ihr
       "Einrichtungsskript" /usr/share/multistrap/chroot.sh oder fügen Sie dieses Skript in Ihr eigenes
       Einrichtungsskript ein.

        setupscript=/usr/share/multistrap/chroot.sh

       chroot.sh meistert Systeme, die sysvinit and upstart benutzen.

       Siehe auch

        http://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt

Stufenförmige Konfiguration

       Damit Multistrap mehrere Varianten der (üblichen) Basiskonfiguration unterstützt, erlauben es die
       Konfigurationsdateien von "Multistrap", andere (allgemeinere) Konfigurationsdateien einzuschließen, z.B.
       wird die ausführlichere/speziellere Konfigurationsdatei auf der Befehlszeile angegeben und diese Datei
       enthält eine andere Datei, die sie sich mit anderen Konfigurationen teilt.

       Basisdatei:

        /usr/share/multistrap/crosschroot.conf

       Variationen:

        /usr/share/multistrap/armel.conf

       Wenn Sie nur die Datei »armel.conf« angeben, wird der Rest der Einstellungen von »crosschroot.conf«
       abgefragt, so dass übliche Änderungen nur in einer einzelnen Datei vorgenommen werden müssen.

       Es wird dringend empfohlen, dass jegliche Änderungen an den beteiligten Konfigurationsdateien in jeder
       Stufe mit der Option "--simulate" für Multistrap getestet werden, was eine Zusammenfassung der Optionen
       ausgibt, die gesetzt werden, wenn die Kaskade komplett ist. Beachten Sie, dass Multistrap Sie nicht
       warnt, falls eine Konfigurationsdatei eine unbekannte Option enthält (für zukünftige Konfigurationen mit
       Backport-Konfigurationen), so dass ein einfacher Tippfehler dazu führen kann, dass Optionen nicht gesetzt
       werden.

»Machine:variant«-Unterstützung

       Die alten »packages.conf«-Variablen von Emsandbox können alle in Multistrap-Konfigurationsvariablen
       umgewandelt werden. Die »Machine:variant«-Unterstützung in "Multistrap" konzentriert sich auf die Skripte
       config.sh und setup.sh

       Anmerkung: Die Unterstützung für »machine:variant« wird wahrscheinlich durch die nachfolgend beschriebene
       Hook-Funktionalität ersetzt

       Sobald "Multistrap" die heruntergeladenen Pakete entpackt hat, kann "setup.sh"  unter der Angabe des
       Ortes und der Architektur aufgerufen werden, so dass andere Feineinstellungen ihren Platz einnehmen
       können. In diesem Schritt dürfen keine Operationen innerhalb des Wurzeldateisystems einer fremden
       Architektur versuchen, irgendwelche Programme innerhalb des Wurzeldateisystems auszuführen. Als letzter
       Schritt des Multistrap-Prozesses wird "config.sh" in das Wurzelverzeichnis des Wurzeldateisystems
       kopiert.

       Ein Vorteil bei der Benutzung der »Machine:variant«-Unterstützung ist es, dass das vollständige
       Wurzeldateisystem mit einem einzigen Aufruf von Multistrap verwaltet werden kann – dies ist nützlich,
       wenn Wurzeldateisysteme im Bereich des Anwenders (»Userspace«) erstellt werden.

       Um »Machine:variant«-Unterstützung zu aktivieren, geben Sie den Pfad zu den Skripten, die ausgeführt
       werden sollen, in der Variant-Konfigurationsdatei (Abschnitt »General«) an:

        [General]
        include=/path/to/general.conf
        setupscript=/path/to/setup.sh
        configscript=/path/to/config.sh

       Ensure that both the setupscript and the configscript are executable or "multistrap" will ignore the
       script.

       Example configscript.sh
         #!/bin/sh

         set -e

         export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
         export LC_ALL=C LANGUAGE=C LANG=C
         /var/lib/dpkg/info/dash.preinst install
         dpkg --configure -a
         mount proc -t proc /proc
         dpkg --configure -a
         umount /proc

        For more information, see the Wiki: http://wiki.debian.org/Multistrap

       Mounting /dev and /proc for chroot configuration
        /proc can be mounted inside the chroot, as above:

         mount proc -t proc /proc

        However,  /dev  should  be  mounted from outside the chroot, before running any "configscript.sh" in the
        chroot:

         cd /path/chroot/
         sudo tar -xzf /path/multistrap.tgz
         sudo mount /dev -o bind ./dev/
         sudo chroot . ./configscript.sh || true

Paketauswahl einschränken

       "Multistrap" schließt standardmäßig benötigte Pakete ein, die aktuelle Liste der Pakete auf Ihrer eigenen
       Maschine kann angesehen werden unter Benutzung von:

        grep-available  -FPriority 'required' -sPackage

       (Die aktuelle Liste wird aus der heruntergeladenen Datei Packages berechnet und kann sich von der Ausgabe
       von "grep-available" unterscheiden.)

       Falls die Option OmitRequired auf »true« gesetzt ist, werden diese  Pakete  nicht  hinzugefügt  –  obwohl
       diese  Option  nützlich ist, kann sie zu einem unbrauchbaren Wurzeldateisystem führen. Nur manuell in den
       Konfigurationsdateien angegebenen Pakete werden in  den  Berechnungen  benutzt  –  Abhängigkeiten  dieser
       Pakete werden hinzugefügt, aber keine anderen.

Pakete mit »Priority: important« hinzufügen

       "Multistrap"  kann  "Debootstrap"  imitieren,  indem  es  automatisch  alle  Pakete aus allen Abschnitten
       hinzufügt, bei denen die heruntergeladene Datei Packages das Paket mit »Priority:  important«  auflistet.
       Standardmäßig   werden   solche   Pakete   nicht   hinzugefügt,   sofern   sie  nicht  einzeln  in  einer
       "packages="-Option eingefügt werden,  die  in  einem  angegebenen  Abschnitt  in  der  "Bootstrap"-Option
       [General]  angegeben  ist.  Um  all  diese  Pakete  hinzuzufügen, setzen Sie die Option »addimportant« im
       Abschnitt [General] auf »true«.

        addimportant=true

       »Priority: important« kann  nur  für  alle  Abschnitte  funktionieren,  die  in  der  Option  "bootstrap"
       aufgelistet sind. Dies kann Verwirrung stiften, wenn Suites gemixt werden.

       Es  ist  nicht  möglich  »addimportant«  und  »omitrequired« in der gleichen Konfiguration einzuschalten.
       "Multistrap" wird mit  Fehlercode  7  beendet,  falls  sowohl  irgendwelche  Konfigurationsergebnisse  in
       »addimportant«  als auch in »omitrequired« auf »true« gesetzt sind. (Dies beinhaltet die Auswirkungen vom
       Einschluß anderer Konfigurationsdateien.)

Empfohlenes Verhalten

       Das  Debian-Standardverhalten  nach  der  Veröffentlichung  von  Lenny  war  es,  empfohlene  Pakete  als
       zusätzliche  Pakete  zu  berücksichtigen,  die  installiert  werden, wenn irgendein Paket ausgewählt ist.
       Empfohlene Pakete sind solche, von denen der Paketbetreuer annimmt, dass dieses Paket auf  den  "meisten"
       Installationen  vorhanden  wäre  und erlauben von Empfehlungen bedeutet erlaubte Empfehlungen empfohlener
       Pakete usw.

       Standardmäßig sind Empfehlungen in Multistrap AUSgeschaltet.

       Setzen Sie die Option »allowrecommends« ist im Abschnitt »General« »true«, um typisches  Debian-Verhalten
       zu bekommen.

Standardveröffentlichung

       "multistrap"   supports   an   option   to   explicitly   set  the  default  release  to  use  with  apt:
       "aptdefaultrelease". This determines which release apt will use for the base system packages and  is  not
       the  same  as  pinning (which relates to the use of apt after installation). Multistrap sets the default-
       release to the wildcard * unless a release  is  named  in  the  "aptdefaultrelease"  field.  Any  release
       specified here must also be defined in a stanza referenced in the bootstrap list or apt will fail.

       To  install  a  specific  version  of  a  package from a newer release than the one specified as default,
       "explicitsuite" must also be set to true if the package exists at any version  in  the  default  release.
       Also,  any  packages upon which that package has a strict dependency (i.e. = rather than >=) must also be
       explicitly added to the packages line in the stanza for the desired version,  even  though  that  package
       does not need to be listed to get it from the default release. This is typical apt behaviour and is not a
       bug in multistrap.

       The  combination  of  default  release, explicit suite and apt preferences can quickly become complex and
       bugs can be very hard to identify. "multistrap" always outputs the complete apt  command  line,  so  test
       this  command  yourself  (using  the files written out by "multistrap") to see what is going on. Remember
       that all dependency resolution and all the logic to determine which version of a  specific  package  gets
       installed  in  your "multistrap" chroot is entirely down to apt and all "multistrap" can do is pass files
       and command line options to apt.

       See also: apt preferences.

Explizite Angabe der Suite

       Manchmal soll Apt mitgeteilt werden, dass ein bestimmtes  Paket  aus  einer  bestimmten  Suite  empfangen
       werden   soll,   während   dabei   eine   aktuellere   Version   in   einer   anderen   Suite   derselben
       Quellenzusammenstellung ignoriert wird.

       "Multistrap" kann mit oder ohne expliziter Suite-Option arbeiten, standardmäßig wird Apt  die  aktuellste
       Version aus der Sammlung angegebener Bootstrap-Quellen benutzen.

       Die  explizite  Angabe  der  Suite  hat  keine Auswirkung auf das fertig installierte System – falls Ihre
       »aptsources« ein Depot enthalten, das wiederum eine neuere Version des/der angegebenen Paket(s)  explizit
       enthält, wird das nächste "apt-get upgrade" auf dem Gerät zu einer neueren Version führen.

       Außerdem  wird  Apt,  wenn  Pakete  von  einer  speziellen  Suite  angegeben  sind,  auch  versuchen  und
       sicherstellen, dass die Abhängigkeiten für dieses Paket von der gleichen Suite stammen und dies kann  der
       Grund  sein,  dass  die  Abhängigkeiten für dieses Paket von der gleichen Suite stammen; dies kann jedoch
       auch der Grund sein, warum apt nicht die komplette Zusammenstellung von Abhängigkeiten auflösen kann.  In
       einer solchen Situation könnte es erforderlich sein, wenn Sie explizit ein Paket auswählen, dass Sie auch
       bei den abhängigen Paketen (nicht notwendigerweise allen) eine explizite Auswahl treffen müssen.

       Wenn  Sie  »explicitsuite«  benutzen, müssen Sie beim Gebrauch von »stable-proposed-updates« oder anderen
       temporären Orten achtsam sein – falls das Paket in eine andere Suite  migriert  und  aus  der  temporären
       Suite entfernt wird (wie mit *-proposed-updates), wird Multistrap das Paket nicht mehr finden.

       Es  kann sehr schwierig sein, die explizite Behandlung der Suite richtig hinzukriegen. Im Allgemeinen ist
       es das Beste, eine kleine Bootstrap-Chroot Ihrer ursprünglichen Architektur zu erstellen, dann ein Chroot
       dort hinein vorzunehmen, die nötigen APT-Quellen hinzuzufügen und herauszufinden,  welche  Befehle  nötig
       sind,  um den korrekten Mix von Programmen zu bekommen. Vermeiden Sie die explizite Angabe von Versionen,
       um Probleme aus der Welt zu schaffen, die nur mit Suites funktionieren. Hier könnten APT-Preferences  und
       Pinning nützlich sein, siehe APT-Preferences.

APT-Preferences

       Falls eine geeignete Datei in der Option aptpreferences des Abschnitts General in der Konfigurationsdatei
       aufgeführt  ist,  wird  diese  Datei  vor  der  ersten  Verwendung in das APT-Preferences-Verzeichnis des
       Bootstraps kopiert.

       Wenn eine APT-Preferences-Datei bereitgestellt  ist,  wird  das  "Vorgabeveröffentlichungs"verhalten  von
       "multistrap" deaktiviert.

       Wie auch bei anderen externen Skripten und Dateien liegt der Inhalt der APT-References-Datei jenseits des
       Geltungsbereichs  dieser  Handbuchseite.  "Multistrap"  versucht  nicht,  die  bereitgestellte  Datei  zu
       überprüfen, außer, das esnsicherstellt, dass sie gelesen werden kann.

»deb-src«-Auflistungen werden ausgelassen

       Einige Multistrap-Umgebungen benötigen  keinen  Zugriff  auf  die  Debian-Quellen  installierter  Pakete,
       normalerweise ist dies nötig, wenn die Erstellung (oder Kreuzerstellung »cross build«) eines Chroot unter
       Benutzung von Multistrap vorbereitet wird.

       Um  diese  zusätzliche Quelle auszuschalten (und sowohl Zeit zum Herunterladen als auch »Apt-Cache«-Größe
       zu sparen), benutzen Sie das Feld »omitdebsrc« in jedem Abschnitt.

        [Baked]
        packages=
        source=http://www.emdebian.org/baked
        keyring=emdebian-archive-keyring
        suite=testing
        omitdebsrc=true

       »omitdebsrc« ist nötig, wenn Pakete von  Debian-Portierungen  benutzt  werden,  bei  denen  Pakete  keine
       Quellen außer »unreleased« haben.

fakeroot

       Bootstraps  für  fremde  Architekturen können unter "Fakeroot" arbeiten ("Multistrap" wurde entworfen, um
       soviel wie möglich in einem einzigen Aufruf zu erledigen, um dies einfacher  zu  machen),  aber  die  bei
       einem  nativen  Architektur-Bootstrap  verwendete  Konfigurationsstufe  erfordert  "Chroot", und "Chroot"
       seinerseits funktioniert nicht unter "Fakeroot".

       Daher wird die Konfiguration im nativen Modus mit  einer  Warnmeldung  übersprungen,  falls  "Multistrap"
       feststellt, dass "Fakeroot" gerade benutzt wird.

       Das  gleiche  Problem betrifft "apt-get install" und daher wird die Installation des Pakets »keyring« auf
       dem Host-System ebenfalls übersprungen, falls Fakeroot erkannt wird.

Handhabung problematischer Pakete

       Manchmal schlägt sogar das korrekte Entpacken eines bestimmten Paketes  fehl,  falls  ein  anderes  Paket
       nicht bereits entpackt wurde. Dies kann vorkommen, falls Dpkg-Umlenkungen nicht korrekt eingerichtet sind
       oder wenn das Paket vorher von einer ausführbaren Datei in einem anderen Paket abhängt.

       Multistrap  bietet  zwei  Möglichkeiten  diese Probleme zu handhaben. Ein Paket kann als "reinstall" oder
       "additional" aufgeführt werden. Jeder Abschnitt in der Konfigurationsdatei  von  "Multistrap"  kann  eine
       einzelne "reinstall"- oder "additional"-Auflistung haben oder beide.

       »reinstall«  bedeutet,  dass  das Paket wie üblich heruntergeladen und entpackt wird – zusammen mit allen
       anderen Paketen, aber es wird dann am Ende durch Ausführen des Betreuerskripts "preinst" mit dem Argument
       "upgrade" neu installiert. "Dpkg" wird dann mit dem Rest der Konfiguration des Pakets fortfahren.

       »Additional« fügt dem Multistrap-Prozess eine zweite  Runde  von  "apt-get  install"  hinzu  –  nach  dem
       Entpacken  am  Anfang.  Das  zusätzliche  Paket  wird  dann  heruntergeladen  und  entpackt.  Falls es im
       ursprünglichen Zustand  ausgeführt  wird,  wird  das  zusätzliche  Paket  heruntergeladen,  entpackt  und
       konfiguriert, nachdem alle anderen Pakete heruntergeladen, entpackt und konfiguriert wurden.

       Weder "reinstall" noch "additional" sollten als mehr als nur Notlösungen betrachtet werden und es sollten
       in Debian »wishlist«-Fehler an Pakete gesandt werden, die diesen Mechanismus nutzen (oder die Pakete, die
       das spezielle Paket am normalen Funktionieren hindern würden).

Debconf-Voreinstellungen

       Das  Hinzufügen  einer  Debconf-Voreinstellung  kann bei der Konfiguration von Paketen für eine bestimmte
       Einstellung an Stelle  der  Paketvorgaben  helfen,  wenn  die  Konfiguration  nicht  interaktiv  abläuft.
       Informationen      wie      Voreinstellungsdateien      erstellt     werden,     finden     Sie     unter
       http://www.debian-administration.org/articles/394.

       Sie können mehrere Voreinstellungsdateien über das Feld »debconfseed« im  Abschnitt  [General],  getrennt
       durch Leerzeichen angeben:

        debconfseed=seed1 seed2

       Files  which  do  not  exist or which cannot be opened will be silently ignored. Check the results of the
       parsing using the "--simulate" option to "multistrap". The preseeding files will be copied to  a  preseed
       directory in /tmp inside the rootfs.

       To  use  the preseeding, add a section to the configscript.sh, prior to any calls to dpkg --configure -a.
       e.g. :

        #!/bin/sh

        set -e

        export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
        export LC_ALL=C LANGUAGE=C LANG=C
        if [ -d /tmp/preseeds/ ]; then
           for file in `ls -1 /tmp/preseeds/*`; do
           debconf-set-selections $file
           done
        fi
        dpkg --configure -a

Hooks

       If a hook directory (hookdir=) is specified in the General  section  of  the  "multistrap"  configuration
       file,  the  hook  scripts  which  are executable will be run from outside the multistrap directory at the
       following stages:

       Download-Hooks
        wird vor dem Entpacken durchgeführt, sofort nachdem die Pakete  heruntergeladen  wurden.  Download-Hooks
        sind ausführbare Skripte im angegebenen Hook-Verzeichnis, deren Dateiname mit download beginnt.

       native hooks
        Native  Hook-Skripte  werden  nur  im  nativen Modus ausgeführt, unmittelbar bevor die Konfiguration der
        heruntergeladenen Pakete beginnt und erneut nach  der  Fertigstellung  der  Paket-Konfiguration.  Native
        Hooks werden den absoluten Pfad, den derzeitigen Prozessstatus, Start oder Ende abfragen.

        Native  Skripte  sind  ausführbare  Skripte  im angegebenen Hook-Verzeichnis, deren Dateiname mit native
        beginnt.

       Completion-Hooks
        werden unmittelbar vor der Erstellung des Tarballs ausgeführt oder wenn "Multistrap" beendet wird, falls
        die Erstellung keines Tarballs konfiguriert wurde.

        Completion scripts are executable scripts in the specified hook directory with a filename beginning with
        completion.

       Hooks wird der absolute Pfad zum  Verzeichnis  übergeben,  das  das  Wurzelverzeichnis  des  Chroot  oder
       Multistrap-Systems  sein  wird.  Hooks, die nicht mittels Realpath aufgelöst werden können oder die nicht
       ausführbar sind, werden ignoriert.

       Alle Hooks eines Typs werden vor dem Ausführen alphabetisch sortiert.

       Beachten Sie, dass "Multistrap" im Fehlerfall die Auswirkungen von Hooks nicht ungeschehen  machen  kann.
       "Multistrap"  wird  jedoch  die  angesammelten  Fehler  als  Warnungen ausgeben. Falls ein Hook mit einem
       Fehlercode ungleich Null beendet wird, wird der Exit-Wert in eine positive Zahl umgewandelt,  zur  Anzahl
       der gesamten Warnungen hinzuaddiert und am Ende der Operation ausgegeben.

Ausgabe

       "Multistrap"  kann  viele Ausgaben erzeugen – informative Nachrichten erscheinen auf der Standardausgabe,
       Fehler und Warnungen auf der Standardfehlerausgabe. Aufrufe von "Apt"  und  "Dpkg"  folgen  dem  gleichen
       Muster,  daher ist es einfach, falls gewünscht, die kombinierte Ausgabe von "Multistrap" auf reine Fehler
       zu kürzen.

       "Multistrap" sammelt Fehlerstati von nicht fatalen Prozessen  innerhalb  der  Operation  und  gibt  diese
       Warnungen  sowohl  auf  der  Standardfehlerausgabe als auch am Ende als kumulierte Fehleranzahl aus. Dies
       schließt Hooks ein, die Exit-Werte ungleich Null ausgeben.

Fehler

       Da "Multistrap" immer komplexer wird, werden sich Fehler in das Paket einschleichen. Bitte berichten  Sie
       alle  Fehler  mit  der  Werkzeug  "Reportbug"  an  die  Debian-Fehlerdatenbank.  Hängen  Sie  bitte  alle
       Konfigurationsdateien an. Falls Ihre Konfiguration Zugriff auf lokale oder private Apt-Depots  erfordert,
       überprüfen  Sie  Ihre  Konfiguration mit der letzten Version von "Multistrap" in Debian. Benutzen Sie die
       Option "--simulate" und fügen Sie deren Bericht in Ihren Fehlerbericht ein.

       Die Ausgabe der Option "--simulate" wird regelmäßig expandiert,  um  Anwendern  bei  der  Fehlersuche  in
       Konfigurationsdateien zu helfen.

       Bitte  prüfen (und aktualisieren) Sie das Multistrap-Wiki unter http://wiki.debian.org/Multistrap und den
       Inhalt der Web-Seite  unter  http://www.emdebian.org/multistrap/  bevor  Sie  Fehlerberichte  einreichen.
       Außerdem  können  mehrere  Leute  auf der Mailingliste debian-embedded@lists.debian.org und dem IRC-Kanal
       #emdebian auf irc.oftc.net helfen, falls Ihre Konfigurationsdatei nicht korrekt ausgewertet wird.  Würden
       Sie  die  Ausgabe  von  "--simulate"  auf  eine  Pastebin-Website  ablegen und in Ihrer Nachricht die URL
       angeben.

Multiarch-Unterstützung

       Multiarch-Unterstützung ist experimentell – bitte melden Sie Probleme und Dateifehler  mit  vollständigen
       Einzelheiten Ihrer Einrichtung, der vollständigen Konfigurationsdatei und gemeldeten Fehlern.

       "Multistrap" setzt die existierende Multiarch-Unterstützung des externen Systems außer Kraft, so dass ein
       System, das  Multiarch kennt, immer noch eine Nicht-Multiarch-Chroot aus Depots erstellen kann, die nicht
       alle durch das externe Dpkg unterstützten Architekturen unterstützen.

       Falls  Multiarch  innerhalb  der  Multiarch-Chroot  aktiviert  ist,  fertigt  "Multistrap"  die  Liste in
       /var/lib/dpkg/arch innerhalb der Chroot aus.

       Geben Sie die Option für mehrere Architekturen einmal an und benutzen Sie  eine  durch  Kommas  getrennte
       Liste für die Architekturen. Stellen Sie sicher, dass Sie diejenige einbeziehen, die die Host-Architektur
       der Chroot sein wird.

       Siehe auch: http://wiki.debian.org/Multiarch/

        [General]
        ...
        multiarch=i386 armel armhf

       Jeder  Abschnitt wird Pakete von der Basisarchitektur installieren, es sei denn, für spezielle Abschnitte
       ist die Option "Architecture" angegeben.

        [Foreign]
        packages=libgcc1 libc6
        architecture=armel
        source=http://ftp.uk.debian.org/debian
        keyring=debian-archive-keyring
        suite=sid

       In der Ausgabe von "--simulate" werden die in der Option MultiArch angegebenen  Architekturen  unter  der
       Auflistung  »Fremde  Architekturen«  aufgeführt.  Pakete  für  eine  besondere Architektur werden als der
       Paketname, gefolgt von einem Doppelpunkt, gefolgt von der Architektur aufgelistet.

        libgcc1:armel libc6:armel

perl v5.30.0                                       2020-03-22                                      MULTISTRAP(1)