Mit Sbuild Debian-Pakete für verschiedene Distributionen und Architekturen bauen

Stein auf Stein

Debian-Pakete in Chroots zu bauen, hat viele Vorteile. Damit kann für Archivzweige und Distributionen entwickelt werden, die auf dem Arbeitsrechner nicht installiert sind. Sbuild ermöglicht darüber hinaus, den Emulator Qemu einzubinden, um Pakete für andere Rechnerarchitekturen zu bauen. Dieser Artikel erklärt, wie Sie den Chroot-Builder verwenden.
Flash-Speicher wird zunehmend günstiger und hält ungebremst Einzug in Clients wie Server. In der Mai-Ausgabe widmet sich IT-Administrator deshalb dem ... (mehr)

Ein Debian-Paket zu "bauen" bedeutet aus einem Quellpaket die entsprechenden Binärpakete zu erzeugen, die sich dann mit "dpkg" installieren lassen. Ein Quellpaket besteht gemeinhin aus einem Tarball, den die Entwickler ("Upstream") veröffentlicht haben, den Steuerdateien im Verzeichnis "debian/", die für den Paketbau benötigt werden (.debian.tar.gz), und einer Registerdatei (.dsc). Die davon erzeugten Pakete (.deb) enthalten oft für bestimmte Architekturen vorkompilierten Maschinencode, man spricht aber auch zum Beispiel bei Dokumentation und Python-Software von Binärpaketen [1].

Auf einem Debian-System kann ein beliebiges Quellpaket mit apt-get source foo aus dem Archiv heruntergeladen und dann gebaut werden; für diesen Zweck gibt es alternative Bauwerkzeuge (builder). Der meist eingesetzte Standard-Builder ist "dpkg-buildpackage" aus dem Paket "dpkg-dev". Bei den meisten der anderen Lösungen handelt es sich unter der Haube um Wrapper um dieses grundlegende Werkzeug. Das ist zum Beispiel der Fall bei "debuild" aus der umfangreichen "devscripts"-Sammlung [2]. Dieser Builder ruft etwa nach dem Bauvorgang automatisch den Paketlinter Lintian auf, um das Ergebnis auf gängige Mängel hin zu überprüfen, und besitzt noch einige weitere Vorteile.

Chroot-Builder

Eine Klasse für sich bilden die Chroot-Builder, bei denen der Paketbau nicht im Produktivsystem, sondern in einer Wechselumgebung stattfindet. Auch wenn diese Werkzeuge aufwendiger zu handhaben sind, hat diese Herangehensweise einige Vorteile. So lassen sich im Chroot beliebige Debian- und Debian-kompatible Umgebungen für den Paketbau verwenden, ohne dafür eigene Rechner aufsetzen zu müssen. So findet zum Beispiel die offizielle Paketentwicklung für Debian immer mit dem Unstable-Zweig statt, der sich als zuverlässiges Produktivsystem für

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023