Korrekt verstaut

RPM-Pakete selbst erstellen

01.07.2006
Mit nur wenigen Handgriffen bauen Sie aus einem Quelltextarchiv ein fertiges RPM-Paket. So verschwinden Dateien beim Deinstallieren wieder sauber aus dem System.

Der Paketmanager RPM bildet das Rückgrat vieler aktueller Distributionen. Dank seiner Hilfe installieren Sie in Windeseile neue Software-Pakete und fegen nicht mehr benötigte Anwendungen komfortabel von der Festplatte. Ein Blick auf den Herstellungsprozess derartiger Pakete lohnt insbesondere, wenn Sie für eine neue Software kein passendes Paket finden.

Sofern kein fertiges Paket für die eigene Distribution bereit steht, bleibt nur noch der Griff zum so genannten Quellcode. Dieser besteht aus dem lesbaren Programmtext, den Sie zunächst in ein ausführbares Binary umgewandeln. Der Vorgang nennt sich kompilieren und wie er im einzelnen abläuft, ist von Programm zu Programm verschieden.

Liegt das Ergebnis vor, spielen Sie das fertige Programm ins System ein – und damit normalerweise am Paketmanager vorbei. Eine automatisierte Deinstallation funktioniert in dem Fall nur unter zwei Bedingungen: Zum einen brauchen Sie das unveränderte Makefile, und zum anderen muss der Programmierer eine entsprechende Funktion eingeplant haben. Aber selbst dann bleibt immer noch fraglich, diese auch wirklich alle Dateien von der Platte putzt.

Abbildung 1: Die Web-Seite zum RPM-Format und dem gleichnamigen Paketmanager ist die erste Anlaufstelle für technische Fragen.

Rote Hüte

Diese mühselige Kleinarbeit verbirgt ein RPM-Paket. Es enthält das fertige Programm und schreibt bei der Installation alle wichtigen Informationen in eine Datenbank. Somit weiß das System, welche Dateien zur Anwendung gehören, wenn Sie diese deinstallieren.

Die meisten größeren Distributionen verwenden das RPM-Format: So etwa Suse Linux, Mandriva, Fedora Core und nicht zuletzt Red Hat. Die Firma mit dem roten Hut war gleichzeitig der Namensgeber für den Red Hat Package Manager, kurz RPM. Mitunter findet sich im Internet auch das rekursive Akronym RPM Package Manager.

Liegt ein Programm erst einmal als RPM-Paket vor, spielen Sie es bequem über den Paketmanager ein und entsorgen es nach Gebrauch auch gleich wieder fachmännisch. Ganz nebenbei erschlägt die Software so noch alle ungelösten Abhängigkeiten – also die Installation weiterer Programme, die eine Software voraussetzt.

Helferlein

Das Erstellen von eigenen RPM-Paketen über die Konfigurationsdatei fällt mitunter recht mühsam aus. Daher existieren verschiedene Hilfsprogramme, die dem Paketbauer das Leben etwas erleichtern sollen. Eines der bekanntesten ist Checkinstall (siehe Artikel auf S. 47). Der Aufruf ersetzt den Befehl make install. Dann überwacht es den gesamten Installationsprozess und liefert als Ergebnis eine fertige RPM-Datei.

Der Preis für so viel Komfort liegt im Nachteil, dass die speziellen Fähigkeiten des RPM-Formates ungenutzt verpuffen. Darüber hinaus laufen Sie immer Gefahr, dass auch Checkinstall eine der beteiligten Dateien übersieht.

Am Arbeitsplatz

Alles, was Sie zum Erstellen eines RPM-Paketes benötigen, bringt Ihre Distribution bereits von Haus aus mit. Neben dem eigenlichen Paketmanager namens RPM ist dies noch eventuell das Paket rpm-build. Letzteres enthält einige zusätzliche Hilfsprogramme, die bei einigen Distributionen jedoch schon standardmäßig auf der Festplatte schlummern, so wie beispielsweise bei Suse Linux.

Im Folgenden dient das Spiel Bomberclone als Beispiel. Es realisiert das alte und auf vielen Parties erprobte Bomberman-Spielprinzip. Sie finden seinen Quellcode im Internet [2] als Tar-Archiv. Sobald die Datei auf der Festplatte liegt, melden Sie sich als Benutzer root an. Für alle weiteren Schritte benötigt Sie seine weitreichenden Rechte.

Als erstes wandert das soeben herunter geladene Archiv in ein spezielles Arbeitsverzeichnis. Linux ist hierauf vorbereitet und sieht als Packstation einen speziellen Ordner unter /usr/src vor. Wie dieses Arbeitsverzeichnis genau heißt, hängt von ihrer Distribution ab. Suse Linux nennt es packages, Mandriva rpm und unter Red Hat heißt es einfach redhat.

In jedem Fall finden Sie dort fünf weitere Unterverzeichnisse namens BUILD, RPMS, SOURCES, SPECS und SRPMS. Zunächst ist nur der Ordner SOURCES von Interesse. Dort hinein schieben Sie das Archiv mit dem Bomberman-Klon. Wollen Sie eigene Software in eine RPM-Datei packen, achten Sie darauf, dass diese ebenfalls als mit Gzip gepacktes Tar-Archiv vorliegt. Andernfalls hilft hier nur das Umwandeln mit einem passenden Komprimierungsprogramm.

Wechseln Sie in das Verzeichnis SPECS. Hier erstellen Sie jetzt die Textdatei bomberclone.spec. Prinzipiell dürfen Sie ihr einen beliebigen Dateinamen geben. Die hier gewählte Form aus Programmname und dem Suffix .spec hat sich aber mittlerweile als Standard durchgesetzt.

Die neue Textdatei füllen Sie nun mit Anweisungen, die beschreiben, wie das RPM-Paket zu erstellen ist. Da diese Textdatei somit den gesamten Packprozess steuert, heißt die Datei auch Konfigurations- oder Steuerdatei. Die englischsprachige Dokumentation spricht von einem Spec-File.

Abbildung 2: Die Homepage von BomberClone.
Abbildung 3: Das über RPM installierte BomberClone.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • RPM-Pakete selbst bauen
    Die meiste Software für Linux liegt im Quellcode vor und muss kompiliert werden. Dies geht schnell von der Hand, doch spätestens wenn man eine Anwendung wieder loswerden will, fangen die Probleme an.
  • RPM-Pakete ohne Vorlage selbst erstellen
    Der Prozess, mit dem Distributoren bestehende Pakete auf eine neue Software-Version heben, erlaubt auch dem Normalanwender den unkomplizierten Bau eigener Pakete.
  • FPM baut parallel RPM- und DEB-Pakete
    Das Tool Effing Package Management baut binnen weniger Sekunden fertige RPM- und DEB-Pakete, ohne dass Sie sich mit Konfigurationsdateien herumschlagen müssen.
  • Pakete bauen ohne Mehraufwand
    Selbst kompilierte Software fällt durch das Paketmanagement-Raster – oft mit unangenehmen Folgen. Hier schafft Checkinstall unkompliziert Abhilfe.
  • Zaubern mit Xnee
    Xnee, Gnee, Cnee und Pnee – die merkwürdig klingenden Tools erwecken den Desktop wie von Geisterhand zum Leben.
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

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
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, 6 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...