Provided by: multistrap_2.2.10_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