Home / LinuxUser / 2006 / 07 / RPM-Pakete selbst erstellen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(229 Punkte bei 11 Stimmen)
Pardus Linux am Ende?
(201 Punkte bei 6 Stimmen)
Meinst Du: Patch CD Updates?
(179 Punkte bei 5 Stimmen)
One goes, one comes
(161 Punkte bei 4 Stimmen)
Speichern in der Cloud
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1290 Hits
Wertung: 139 Punkte (3 Stimmen)

Schlecht Gut

Infos zum Autor

Tim Schürmann

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

title_2012_02

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 1 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...
OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 1 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...