Aufmacher

Wie am Schnürchen

Debian-Pakete bauen von einfach bis anspruchsvoll

01.02.2008
In nur wenigen Schritten verwandeln Sie ein Quelltextarchiv in ein vollwertiges Debian-Paket.

Linux-Anwender überwinden nach einigem Umgang mit dem System schnell die Angst vor dem Neuen: Die einst bedrohliche Kommandozeile erlangt als unentbehrlicher Helfer neue Wertschätzung, der früher Ehrfurcht gebietende Compiler dient als selbstverständliches Werkzeug zum Bau neuer Software

Mit etwas Routine stellt das Übersetzen und Einrichten mit dem Linux-typischen Dreischritt configure, make und make install keine große Hürde mehr dar. Anschließend gibt es aber ein Problem: Der Paketmanager weiß nichts von den händisch eingespielten Dateien. Wie halten Sie also ein System schlank, in dem es von manuell installierten Softwarepaketen wimmelt? Ganz einfach: Vertrauen Sie auch die selbstkompilierten Programme dem Paketmanager an.

Checkinstall

Es gibt mehrere Methoden, das zu tun: Das Programm Checkinstall [1] (Abbildung 1) bietet die wohl einfachste Möglichkeit, DEB- und RPM-Pakete zu erzeugen [2]. Checkinstall überzeugt zwar durch seine einfache Handhabung. Es versagt aber, wenn ein Paket vor und nach dem Installieren so genannte Pre- und Post-Install-Skripte ausführt. In diese Kategorie fallen beispielsweise alle Pakete mit Kernel-Modul.

Abbildung 1: Checkinstall sammelt Informationen wie Programmbeschreibung und -version, bevor es ein distributionsspezifisches Paket erstellt und installiert. Abhängigkeiten definiert es nicht automatisch.

Wer DEB-Pakete bevorzugt, die auch auf anderen Systemen laufen, benötigt also mehr als die von Checkinstall erzeugten Rumpfpakete. Debian-basierte Distributionen bringen daher vor allem im Paket dpkg-dev eine Menge Werkzeuge mit, die das Anfertigen von Paketen vereinfachen.

Original statt Imitat

Debian-Pakete lassen sich ganz einfach bauen, sofern das Quelltextverzeichnis bereits entsprechend präpariert ist. Dann liegen alle notwendigen Informationen im Unterverzeichnis debian des Sourcecode-Verzeichnisses. Bietet die Distribution die gewünschte Software bereits als gewöhnliches DEB-Paket an, dann trifft das meist zu. Um diese Version neu zu kompilieren – etwa mit Unterstützung für zusätzliche Features – laden Sie zunächst den dazugehörigen Quelltext über apt-get source Paketname (ohne Root-Rechte) herunter. Eventuell müssen Sie dazu über Synaptic die Paketquelle Quelltexte aktivieren.

Sie finden nun drei neue Dateien und ein Verzeichnis vor. Die Dateinamen setzen sich aus dem Namen der Software, der Versionsnummer des Pakets und gegebenenfalls einer internen Revisionsbezeichnung wie meinedistribution3 zusammen. Bei einer der drei Dateien handelt es sich um das Originalarchiv mit der Endung .orig.tar.gz. Das File mit dem Suffix .diff.gz enthält die Änderungen, die der Distributor am Originalquelltext vorgenommen hat, um das Paket an sein System anzupassen. Dazu kommt eine .dsc-Datei, die eine Paketbeschreibung mit Angaben zu den unterstützten Prozessorarchitekturen und den Paket-Maintainern liefert. Das von apt-get source angelegte Verzeichnis enthält zudem das bereits erwähnte Verzeichnis debian.

Im einfachsten Fall nehmen Sie nun die gewünschten Änderungen vor. Sie ergänzen beispielsweise die Software um eine bestimmte Programmbibliothek, um so ihre Fähigkeiten zu erweitern. Sie bauen in den Quelltext weitere Features ein oder spielen Patches mit Änderungen ein. Um dann ein neues Debian-Paket zu erzeugen, geben Sie im Quelltextverzeichnis den Befehl dpkg-buildpackage ein, der zum Paket dpkg-dev gehört. Dazu benötigen Sie eigentlich Root-Rechte, doch mit dem Fakeroot gelingt der Debian-Bau auch mit Schreibrechten im Quelltext- und im darüber liegenden Verzeichnis. Haben Sie das Paket fakeroot installiert, hängen Sie an den Befehl zum Paketbau einfach den Parameter -rfakeroot an:

$ dpkg-buildpackage -rfakeroot

Das Programm dpkg-buildpackage untersucht, ob es die zum Kompilieren notwendigen Tools und Bibliotheken überhaupt gibt. Falls nicht, gibt es eine Liste der fehlenden Pakete aus, die Sie nun nachinstallieren. Andernfalls ruft das Programm das Skript configure und dann make auf. Abschließend erzeugt es die DEB-Pakete und legt sie im übergeordneten Verzeichnis ab. Zur Installation gilt es den Paketmanager zu bemühen; auf der Kommandozeile lautet der notwendige Befehl:

$ sudo dpkg -i Paketname.deb

Das eben gezeigte Verfahren eignet sich zwar nicht für größere Änderungen. Dennoch empfiehlt es sich, auch Details zur späteren Nachlese zu dokumentieren. Dafür gibt es die Datei changelog im Verzeichnis debian – halten Sie exakt das dort vorgegebene Format ein, sonst bricht der Paketbau ab.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Debian-Pakete selbst erstellen
    Die leistungsfähigen Tools, mit denen Debian-Entwickler Pakete bauen, stehen auch Normalanwendern offen. Oft spart ihr Einsatz gegenüber dem Kompilieren per Hand sogar Aufwand.
  • checkinstall
    Wer unter Linux viel aktuelle Software ausprobiert, kennt das Problem: Neueste Programmversionen existieren oft nur als tar-Archiv und lassen sich lediglich unter Klimmzügen wieder deinstallieren. Checkinstall schafft Abhilfe.
  • Pakete bauen ohne Mehraufwand
    Selbst kompilierte Software fällt durch das Paketmanagement-Raster – oft mit unangenehmen Folgen. Hier schafft Checkinstall unkompliziert Abhilfe.
  • Paketbau in Eigenregie mit Checkinstall
    Ihr Lieblingsprogramm gibt es nur als Quelltext zum Selberbauen? Kein Problem: Mit Checkinstall bekommen Sie die Software sauber ins System und auch wieder heraus.
  • Hilfe zur Selbsthilfe: Paketverwaltung
    Moderne Distributionen bieten zusätzlich in der Regel einen komfortablen Paketmanager, um Programme zu verwalten. Mit dem richtigen Know-how kitzeln Sie zusätzlich viele Information aus diesen heraus.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...