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 12/2014: ANONYM & SICHER

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...