AA_gestaltwandler_123rf-5516461_ddraw.jpg

© ddraw, 123rf.com

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

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Pakete umwandeln mit Alien
    Gibt es Ihre Lieblingsanwendung nicht für die eigene Distribution, müssen Sie es entweder aus den Quellen installieren, ein eigenes Paket bauen – oder Sie greifen zu Alien.
  • Zu Befehl: Alien
    Mit dem Programm Alien können Sie für das eigene Linux fremde Pakete umwandeln und installieren. Das Tool läuft auf sämtlichen bekannten Distributionen und kann mit vielen verbreiteten Paketformaten umgehen. In dieser "Zu Befehl"-Folge zeigen wir Ihnen, wie Sie unter Debian außerirdische Software in bekannte Paketformate wandeln.
  • Pakete umwandeln mit Alien
  • Ordentlich durchgeputztHausputz
    Mit Deborphan/Gtkorphan löschen Sie aus Debian-basierten Distributionen überflüssigen Ballast schnell wieder heraus.
  • Geräte im Netzwerk mit WiFi Guard überwachen
    Mit WPA2-PSK gesicherte WLANs lassen sich mit verschiedenen Methoden kompromittieren. Damit Sie eventuelle Einbruchsversuche rechtzeitig erkennen, empfiehlt sich der Einsatz von WiFi Guard.
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...