Wie füge ich Debootstrap weitere Varianten oder benutzerdefinierte Pakete hinzu?

10

Ich habe eine Reihe von Paketen, die ich zusammen mit der Minibase-Variante in Debootstrap installieren möchte. Es fällt mir am schwersten, herauszufinden, wie Varianten so angepasst werden können, dass mehr als nur die Basis in einer Chroot installiert wird, wenn Debootstrap ausgeführt wird. Wie kann man das erreichen?

Marco Ceppi
quelle

Antworten:

10

Es ist ziemlich einfach, eine eigene Variante mit zusätzlichen benutzerdefinierten Paketen zum Debootstrap hinzuzufügen .

Die Debootstrap- Konfigurations- / Laufzeitskripte befinden sich in /usr/share/debootstrap/scripts. Lassen Sie uns eine allmybaseVariante erstellen, die alles minbasezusammen mit den Paketen htopund enthält traceroute.

  1. Öffnen Sie /usr/share/debootstrap/scripts/precisein Ihrem Editor.

    • Beachten Sie, dass dies zusammen mit vielen Ubuntu-Versionen ein symbolischer Link zu ist /usr/share/debootstrap/scripts/gutsy. Wenn Sie nur eine bestimmte Version betreffen möchten, unterbrechen Sie den Link und machen Sie stattdessen eine Kopie des mutigen Skripts.
  2. Suchen Sie in Zeile 22 die Zeile, die mit beginnt, variantsund fügen Sie am Ende Ihre benutzerdefinierte Variante hinzu:

    Varianten - Buildd Fakechroot Minbase Allmybase
    
  3. Suchen Sie die work_out_debs()Funktion in Zeile 34 und sehen Sie sich die Standardeinstellungen für die baseVariable für Ihre "Basis" -Variante an (hier minbase):

        elif done_variant fakechroot || Doing_Variante Minbase; dann
                base = "apt"
    
  4. Fügen Sie am Ende der Funktion Ihre eigene Variante mit benutzerdefinierten Paketen hinzu:

        elif done_variant allmybase; dann
                base = "apt htop traceroute"
    
  5. Speichern, beenden und testen Sie es mit dem --print-debsFlag "Simulation", z

    sudo debootstrap --print-debs --variant = allmybase präzise / tmp / prec-chroot
    
    • In diesem Beispiel zeigt die Ausgabe, dass die Pakete htopund traceroutein der allmybase- Chroot enthalten sind.
ish
quelle
Wow, ich denke, das scheint fast so schmutzig zu sein, als würde man nur eine Variante installieren und die chroot + apt-get montieren. Danke für die Auskunft!
Marco Ceppi
Nun, ein wenig Schmerz wird Ihnen viel bringen, wenn Sie dieselbe Variante wiederholt installieren;)
ish
Möglicherweise gab es diese Option zum Zeitpunkt der Frage nicht, aber der gleiche Effekt kann debootstrap --include=htop,tracerouteohne Änderungen an Debootstrap-Skripten erzielt werden.
Raimue