AA_paket_maridav_123rf_16467532.jpg

© Maridav, 123RF

Debian-Pakete selbst bauen und per PPA anbieten

Gut verpackt

Kein aktuelles Paket des Lieblingsprogramms vorhanden? Kein Problem: Mit ein paar einfachen Handgriffen gelangen Sie zu einem Paket, das Sie danach sogar per PPA anderen weitergeben.

Die Welt der freien Software gibt sich quirlig: Regelmäßig verschwinden ältere Werkzeuge von der Bildfläche, neue Tools entstehen. Der ständige Wandel führt zwangsläufig dazu, dass nicht jeder Distribution zu jeder Zeit Pakete für alle Werkzeuge beiliegen. Ubuntu kommt zwar mit mehreren Zehntausend Paketen daher [1], trotzdem fehlen aber gelegentlich Pakete besonders für aktuelle und noch nicht etablierte Software. Meistens gehen die Maintainer dieser Tools dazu über, selbst entsprechende Pakete anzubieten. Aber für den Autor einer Software ist es schwierig, bei jedem Release diese gleich für die gängigen Distributionen in den aktuellen Versionen parat zu haben.

Möchten Sie ein Programm nutzen, das der von Ihnen verwendeten Distribution noch nicht beiliegt, kennen Sie vermutlich den Effekt: Zwar gibt es eine neue Version des Tools, aber von Paketen für Ihr System ist weit und breit nichts zu sehen. Mit etwas Geschick schaffen Sie selbst Abhilfe, ohne gleich Expertise beim Bauen von Debian-Paketen zu benötigen: Stehen die Quellen der Pakete für die alte Version bereit, gelingt es meist recht einfach, daraus Pakete der neuen Version zu konstruieren. Im Vorbeigehen haben Sie so die Möglichkeit, etwas Gutes für die Open-Source-Gemeinde zu tun: indem Sie nämlich Ihre Pakete auf Launchpad [2] über ein PPA-Verzeichnis bereitstellen, um die Ergebnisse Ihrer Arbeit mit anderen Anwendern zu teilen.

Im Folgenden erfahren Sie am Beispiel der KDE-Backup-Software Kup, wie Sie aus den alten Quellen ein neues Debian-Paket bauen. Los geht es im ersten Schritt damit, sich eine passende Umgebung für den Bau des Pakets anzulegen.

Die meisten Arbeitsschritte setzen im Folgenden die Kommandozeile voraus, weil nur aus dieser heraus der Einsatz einer Chroot-Umgebung sinnvoll ist. Ein Grundwissen um die generelle Funktion der Kommandozeile ist also vonnöten, und die wichtigen Befehle sollten Ihnen geläufig sein.

Vorbereitungen

Ubuntu nutzt derzeit unter der Haube noch den gleichen Paketmanager, der bei Debian zum Einsatz kommt: Dpkg. Ist im Folgenden also von "Debian-Paketen" die Rede, meinen wir damit Archive für diese Art des Softwaremanagements und nicht solche, die für die gleichnamige Distribution kompiliert wurden.

Grundsätzlich besteht die Möglichkeit, Pakete für Dpkg direkt auf dem System zu bauen und zu kompilieren. Das gilt aus mehreren Gründen als verpönt. Der wichtigste davon: Oft fehlt die benötigte Entwicklungsumgebung, Desktop-Installationen von Ubuntu enthalten in der Regel keine Entwicklerpakete. Es fehlen also sowohl der Compiler (GCC oder G++) als auch die Entwicklungsdateien für die auf dem System vorhandenen Bibliotheken.

Sie könnten zwar sämtliche benötigten Pakete nachinstallieren, doch würden diese die Installation aufblähen, und es wäre mühsam, die installierte Software später wieder zu entfernen: Schon das Metapaket build-essential zieht gut ein Dutzend Pakete als Abhängigkeiten nach sich. Die bessere Alternative bietet Debootstrap: Mit diesem Tool schaffen Sie im Handumdrehen eine virtuelle Basisinstallation von Ubuntu, die Sie anschließend mittels des Befehls chroot betreten. Weil eine einfache Umgebung für den Bau von Paketen nicht als bootfähiges System dient, ersparen Sie sich die Tricks und Kniffe, die gegebenenfalls in Sachen Bootloader nötig wären.

Debootstrap legt eine komplette Installation eines Grundsystems innerhalb eines Ordners an. Um damit zu beginnen, installieren Sie auf einem Ubuntu-System erst das Paket debootstrap und legen dann einen Ordner für den Bau der Pakete an. Die Installation der Software erledigen Sie entweder über das übliche Werkzeug in der grafischen Oberfläche oder über die Kommandozeile. Dann hat Debootstrap seinen großen Auftritt: Mit debootstrap Pfad Suite erzeugen Sie die Umgebung. Den Teil Suite ersetzen Sie dabei durch den Codenamen, den die gewünschte Ubuntu-Version trägt. Möchten sie das Paket etwa für Version 15.04 erstellen, wäre der passende Wert vivid. Soll Debootstrap einen lokalen Mirror anstelle des Standard-Mirrors nutzen, geben Sie diesen mit angehängtem /ubuntu als letzten Parameter an (Listing 1, Zeile 1).

Listing 1

$ debootstrap vivid-chroot vivid http://de.archive.ubuntu.com/ubuntu
$ chroot vivid-chroot
# locale-gen de_DE.UTF-8
# apt-get install build-essential devscripts fakeroot

Damit installieren Sie in den Ordner vivid-chroot die benötigten Pakete, und zwar vom deutschen Ubuntu-Mirror anstatt vom meist überladenen Standard-Mirror. Je nach Anbindung an das Internet dauert das Herunterladen der benötigten Pakete trotzdem eine Weile. Zu guter Letzt nutzen Sie den Befehl aus der zweiten Zeile von Listing 1, um das virtuelle Ubuntu-System erstmals zu betreten.

Build-Umgebung einrichten

Der nächste Schritt besteht darin, dass Sie das virtuelle Ubuntu-System an Ihre Bedürfnisse anpassen. Tatsächlich haben Sie bisher nur ein Grundsystem, in dem sämtliche Annehmlichkeiten fehlen. Zunächst generieren Sie daher die Locales, die die Unterstützung für die deutsche Sprache bringen und viele Fehlermeldungen ersparen (Listing 1, Zeile 3). Danach richten Sie die Entwicklerpakete ein, die Sie innerhalb der virtuellen Umgebung benötigen (Zeile 4).

Ein Editor für die Kommandozeile fehlt noch: Die Pakete nano oder vim rüsten die Funktion nach. Die Installation von Wget sorgt zudem dafür, dass Sie die Möglichkeit haben, per Kommandozeile Dateien herunterzuladen. Damit bringt Ihre virtuelle Werkstatt bereits die grundlegenden Funktionen für das Bauen von Paketen mit. Im nächsten Schritt laden Sie die Quellen des Ubuntu-Pakets herunter, auf dessen Grundlage Sie die neue Version in ein Paket packen möchten.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...