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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ä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
  • Verwandlungskünstler
    Das Kommandozeilen-Werkzeug Alien baut Brücken zwischen den verschiedenen Paketverwaltungssystemen. Mithilfe des kleinen Tools bereiten Sie für fremde Distribution gedachte Pakete für Ihr eigenes System auf. Dabei gilt es allerdings auf ein paar Stolpersteine zu achten.
  • Alien Arena 2007
    Bei diesem Actionspiel ist der Name bereits Programm: "Alien Arena" versetzt den Spieler in eine recht abstrakte und meist auch extrem bunte Zukunft.
Kommentare

Infos zur Publikation

LU 02/2016: Alt-PCs flott machen

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!       

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...
Windows 10 verhindert LINUX
Hans Wendel, 17.11.2015 17:47, 7 Antworten
Hallo alle, mit einem W10-Laptop (vorher war Win7) wollte ich LINUX ausprobieren. Alles, was ni...