Home / LinuxUser / 2010 / 01 / Programmpakete richtig konvertieren

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(233 Punkte bei 16 Stimmen)
Re: War doch klar...
(162 Punkte bei 6 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 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.

Gestaltwandler

Programmpakete richtig konvertieren

16.12.2009 Wenn sich eine aktuelle Software nur im Repository einer anderen Distribution findet, hilft Alien, das Paket sauber ins eigene System einzupassen.

Endlich beherrscht die neueste Version einer Software das gewünschte Feature – doch das Paket findet sich nur im Repository eines anderen Systems. Der Grund dafür liegt nicht selten in der Tatsache, dass sich der Maintainer der Software nur mit einem speziellen System gut auskennt und nur dafür ein Paket baut. Ansonsten überlässt er den Distributoren das Bereitstellen des Paketes. Möchten Sie nicht solange warten, nehmen Sie Alien [1] zur Hand.

Im Kern vieler Linux-Systeme sorgt ein Paketmanagement für Softwarekonsistenz (siehe Kasten "Pakete im Griff"). Debian und Ubuntu verwenden Dpkg [2]; das Suffix .deb kennzeichnet diese Programmpakete. Red Hat, Fedora, (Open-)Suse, Mandriva und andere Distributionen nutzen das RPM-Format [3], dessen Programmpakete analog auf .rpm enden.

Pakete im Griff

Die Existenz unterschiedlicher, nicht ganz kompatibler Paketmanagementsysteme [7] liegt in der Linux-Historie begründet. Grundsätzlich sprechen aber gute Gründe für ein Paketmanagement. Zum einen vereinfacht es die Installation eines Programms, wobei es meist auch die Abhängigkeiten (andere Programme oder Bibliotheken) berücksichtigt. Zum anderen fallen auch Aktualisierungen und das Entfernen nicht mehr benötigter Software leichter. Darüber hinaus bietet ein Paketmanagementsystem die Möglichkeit, temporär Platz auf der Festplatte zu schaffen. Außerdem hilft es beim Analysieren von Fehlern: Behebt das Entfernen eines Programms das Problem? Falls nicht, dann kann man die Software beruhigt wieder installieren.

Der Parallelbetrieb mehrerer Paketverwaltungen auf einem System mündet in einem völligen Chaos, da unklar wäre, mit welcher davon Sie ein Programm installiert haben und ob das System nicht bereits die notwendigen Abhängigkeiten erfüllt. Versuchen Sie, ein RPM-Paket auf einem Debian-System zu installieren, erhalten Sie eine Meldung wie in Listing 1.

# rpm -i testprog-9.9.8-1.x86_64.rpm
rpm: please use alien to install rpm packages on Debian, if you are really sure use --force-debian switch. See README.Debian for more details.

Hier kommt das Werkzeug Alien (engl: "fremd, Fremdling, Ausländer") ins Spiel. Es ermöglicht, Pakete aus dem einen in das jeweils andere System zu integrieren, indem es sie ins native Paketformat umwandelt. Zwar gilt Alien als experimentelle Software, doch setzen viele Nutzer das Programm schon länger erfolgreich ein.

Alien im Detail

Alien gibt es für die meisten Linux-Distributionen, es kommt vielfach aber nur auf Debian- oder Ubuntu-Systemen zum Einsatz. Sein Haupteinsatzgebiet liegt darin, ein Paketformat in ein anderes zu konvertieren. Das eigentliche Umwandeln verläuft vergleichsweise trivial (siehe Kasten "Unter der Haube")

Hinter einem DEB-Paket verbirgt sich eigentlich ein Ar-Archiv [4], das sich aus der Beschreibung und Informationen über die Abhängigkeiten, verschiedenen Skripten sowie den eigentlichen Programmdateien zusammensetzt. Ähnlich verhält es sich mit RPM. Noch simpler ist das im Unix-Umfeld am weitesten verbreitete Tar-Format.

Weil es sich um freie und gut dokumentierte Format handelt, stehen die Chancen für das erfolgreiche Konvertieren gut. Beim Umwandeln sollten nach Möglichkeit folgende Bestandteile erhalten bleiben:

  • die Paketbeschreibungen, so dass Sie später im Paketmanagement erkennen, um was für eine Software es sich handelt, wer der Autor ist oder wo Sie die Homepage finden,
  • die Informationsdateien, die beschreiben, wie Sie das Paket wieder entfernen oder aktualisieren – und was dabei gegebenenfalls zu tun wäre,
  • die Informationen über Abhängigkeiten zu anderer Software,
  • die Angabe der Prozessorarchitektur im Dateinamen, wie etwa amd64 bei DEB-Paketen und x86_64 bei RPMs.

Es empfiehlt sich, die Alien-Version der eigenen Distribution zum Import von Fremdformaten einzusetzen. Sie ist stets am besten angepasst, um weitere Software optimal in das eigene System zu integrieren und dabei dessen Eigenheiten zu berücksichtigen.

Unter der Haube

Da Alien in Perl geschrieben wurde, steht einem Blick in die Interna nichts im Wege. Sie können also jederzeit nachsehen, was es tut und wie es das anstellt. Weitere Informationen zu Alien finden Sie im Buch "Das Debian-System" von Martin F. Krafft [8] oder in Heike Jurziks Beitrag "Pakete umwandeln mit Alien" [9].

Schlichte Eleganz

Ein kleines Beispiel soll die Funktionsweise von Alien verdeutlichen: Von der Software testprog existiert nur ein RPM-Paket. Das passt nicht zu einem einem Debian-basiertes System. Der Aufruf alien testprog-9.9.8-1.x86_64.rpm konvertiert das RPM-Paket nach testprog_9.9.8-2_amd64.deb – ganz ohne weitere Optionen.

Das Quellformat ließ sich aufgrund der Endung .rpm eindeutig bestimmen, und als Zielformat verwendet Alien, wenn nicht anders angegeben, ein DEB-Paket (System des Hosts, auf dem die Software läuft). Das umgewandelte Paket installieren Sie danach wie üblich mit dpkg -i testprog_9.9.8-2_amd64.deb. Das Listing 2 zeigt den kompletten Ablauf. Beachten Sie, das Alien die Unterversionsnummern automatisch um eins hochzählt. Das Verhalten passen Sie mit der Option -k, oder --bump=Nummer an Ihre Bedürfnisse an.

$ cd /tmp
$ wget http://example.com/testprog-9.9.8-1.x86_64.rpm
$ su                                 # Root werden
# alien testprog-9.9.8-1.x86_64.rpm  # Paket umwandeln
# dpkg -i testprog_9.9.8-2_amd64.de  # Paket installieren
# exit                               # User wechseln
$ ./testprog                         # Prüfen, ob es läuft.
$ su                                 # Root werden
# mkdir /usr/src/testprog            # Verzeichnis erstellen
# mv testprog* $_                    # Daten verschieben
# exit                               # User wechseln
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1565 Hits
Wertung: 55 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/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

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

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
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...