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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(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

1515 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 http://www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...