VMware ESXi and vSphere Cluster Management

Pakete mit alien zwischen DEB, RPM, TGZ und weiteren Formaten konvertieren

Lerne, wie du mit alien DEB-, RPM-, TGZ-, SLP- und Solaris-PKG-Pakete konvertierst, installierst und typische Abhängigkeits- und Architekturprobleme löst.

alien ist ein Kommandozeilenwerkzeug zur Umwandlung von Softwarepaketen zwischen mehreren Linux- und Unix-Paketformaten. Es ist nützlich, wenn ein benötigtes Programm nur als Paket für eine andere Distribution verfügbar ist.

Ein typisches Beispiel ist ein RPM-Paket, das auf einem Debian- oder Ubuntu-System verwendet werden soll. alien kann daraus ein DEB-Paket erzeugen, das anschließend mit den Debian-Werkzeugen installiert wird.

Grundbegriffe: Paketformat und Paketmanager

Ein Paketformat beschreibt, wie installierbare Software zusammen mit Metadaten, Dateien und gegebenenfalls Abhängigkeitsinformationen gespeichert wird. Ein Paketmanager installiert, aktualisiert und entfernt solche Pakete und versucht, benötigte Abhängigkeiten zu verwalten.

  • DEB: Paketformat der Debian-Familie, beispielsweise für Debian und Ubuntu.
  • RPM: Paketformat vieler RPM-basierter Distributionen, beispielsweise Fedora, RHEL, Rocky Linux, AlmaLinux und openSUSE.
  • TGZ: Ein komprimiertes Tar-Archiv, das auch als einfaches Paket- oder Archivformat verwendet werden kann.
  • SLP: Das Paketformat von Stampede Linux.
  • Solaris PKG: Paketformat für Solaris-Systeme.

Voraussetzungen für alien

Vor der Konvertierung muss alien auf dem System installiert sein. Außerdem benötigt alien die Werkzeuge, die zu den Quell- und Zielformaten gehören. Bei einer RPM-zu-DEB-Konvertierung müssen beispielsweise sowohl RPM-Werkzeuge als auch Debian-Paketwerkzeuge vorhanden sein.

Installiere alien und fehlende Werkzeuge über den nativen Paketmanager deiner Distribution. Für administrative Installationen und viele Schritte der Problembehebung sind Root-Rechte oder sudo erforderlich.

Prüfe außerdem vorab:

  • Ist die Eingabedatei tatsächlich ein unterstütztes Paket?
  • Passt die CPU-Architektur zur Zielumgebung?
  • Sind die benötigten Bibliotheken und ihre Versionen auf der Zielplattform verfügbar?
  • Stammt das Paket aus einer vertrauenswürdigen Quelle?

Grundsyntax von alien

Die allgemeine Befehlsform lautet:

alien [Optionen] DATEI

Die Optionen bestimmen das gewünschte Zielformat. Ohne eine explizite Zielformatoption erzeugt alien standardmäßig ein Debian-Paket.

alien nmap.rpm

Bei diesem Aufruf wird aus nmap.rpm standardmäßig eine DEB-Datei erstellt. Der genaue Name der Ausgabedatei hängt unter anderem von Paketname, Version und Architektur ab.

Unterstützte Zielformate und Optionen

OptionZielformatDateiendungTypischer Verwendungszweck
-dDebian-Paket.debEin fremdes Paket für Debian oder Ubuntu vorbereiten
-rRPM-Paket.rpmEin DEB-Paket für eine RPM-basierte Distribution umwandeln
-tTGZ-Archiv.tgz beziehungsweise .tar.gzPaketinhalt als Tarball bereitstellen
--to-slpStampede-Paket.slpEin Paket in das SLP-Format umwandeln
-p oder --to-pkgSolaris-PKG-Paket.pkgEin Paket für Solaris bereitstellen, sofern diese Option in der installierten alien-Version verfügbar ist

Das Eingabeformat wird normalerweise anhand des Paketaufbaus und der Dateiendung erkannt. Eine Endung allein beweist jedoch nicht, dass die Datei ein gültiges Paket enthält.

Beispiel: RPM in DEB konvertieren

Angenommen, im aktuellen Verzeichnis liegt ein Paket namens nmap.rpm. Mit der Option -d wird das Debian-Zielformat ausdrücklich ausgewählt:

alien -d nmap.rpm

Nach erfolgreicher Ausführung liegt im Arbeitsverzeichnis eine neue DEB-Datei. Ihr vollständiger Name kann beispielsweise eine Version und Architektur enthalten und muss nicht exakt einem festen Muster folgen.

Das erzeugte Paket wird anschließend mit dpkg installiert:

sudo dpkg -i nmap_*.deb

dpkg ist das niedrigstufige Debian-Werkzeug zum Installieren und Verwalten von DEB-Paketen. Es installiert die angegebene Datei, löst fehlende Abhängigkeiten aber nicht vollständig selbstständig aus.

Beispiel: DEB in RPM konvertieren

Für die umgekehrte Richtung liegt beispielsweise beispiel.deb vor. Die Option -r wählt RPM als Zielformat:

alien -r beispiel.deb

Die erzeugte RPM-Datei kann anschließend mit dem RPM-Werkzeug installiert werden:

sudo rpm -i beispiel-*.rpm

Vor der Installation sollten Paketname, Version, Architektur und Abhängigkeiten geprüft werden. Auch ein technisch gültiges RPM-Paket kann auf der Zieldistribution nicht lauffähig sein.

Weitere Konvertierungen

DEB oder RPM in ein TGZ-Archiv

Mit -t wird ein TGZ-Archiv als Zielformat gewählt:

alien -t beispiel.deb

TGZ ist dabei ein Archivformat und nicht automatisch ein vollständig in die Paketverwaltung der Zieldistribution integriertes Paket. Die enthaltenen Dateien müssen deshalb besonders sorgfältig geprüft werden.

Konvertierung in SLP

Für das Stampede-Linux-Format wird --to-slp verwendet:

alien --to-slp beispiel.deb

SLP ist ein historisches beziehungsweise selten verwendetes Format. Die tatsächliche Nutzbarkeit hängt von der installierten alien-Version und den vorhandenen Hilfsprogrammen ab.

Konvertierung in Solaris PKG

Für ein Solaris-PKG-Paket kann --to-pkg verwendet werden:

alien --to-pkg beispiel.deb

Die Kurzform ist -p. Diese Option ist nur sinnvoll, wenn die entsprechende Unterstützung in der installierten alien-Version verfügbar ist:

alien -p beispiel.deb

Installation nach der Konvertierung

Erzeugtes FormatInstallationswerkzeugBeispielbefehlHinweis
DEBdpkgsudo dpkg -i paket.debFehlende Abhängigkeiten müssen anschließend gegebenenfalls separat aus den nativen Paketquellen installiert werden.
RPMrpmsudo rpm -i paket.rpmDas Paket muss zur RPM-basierten Distribution, Architektur und Bibliotheksumgebung passen.

Verwende nach Möglichkeit den Paketmanager der Zieldistribution, wenn er eine native Version des Programms anbietet. Native Pakete enthalten meist passendere Abhängigkeiten und Integrationsinformationen als konvertierte Fremdpakete.

Abhängigkeiten und Kompatibilität

Abhängigkeiten sind weitere Pakete, Bibliotheken oder bestimmte Versionen, die eine Software benötigt. alien kann Paketmetadaten umformen, aber nicht zuverlässig sicherstellen, dass die Abhängigkeiten des Ursprungspakets auf der Zielplattform denselben Namen, dieselbe Version oder dieselbe ABI besitzen.

Besonders relevant sind:

  • Bibliotheksversionen: Ein Programm kann eine ältere oder neuere Version einer Systembibliothek erwarten.
  • Paketnamen: Dieselbe Bibliothek kann in verschiedenen Distributionen unterschiedlich paketiert oder benannt sein.
  • Dateipfade: Konfigurationsdateien und Systemdateien können an unterschiedlichen Stellen liegen.
  • Dienste und Integration: Startskripte, Benutzer, Gruppen und Systemdienste sind nicht immer zwischen Distributionen kompatibel.
  • Architektur: Ein Paket für eine andere CPU-Architektur lässt sich nicht durch Formatkonvertierung passend machen.

Sichere und sinnvolle Nutzung

  1. Suche zuerst nach einem nativen Paket in den offiziellen Paketquellen der Zieldistribution.
  2. Wenn kein natives Paket existiert, prüfe die Herkunft und Vertrauenswürdigkeit der Datei.
  3. Überprüfe, wenn verfügbar, Prüfsummen und Signaturen.
  4. Konvertiere vorzugsweise einzelne Pakete und nicht große Teile eines Systems.
  5. Teste kritischere Software zunächst in einer virtuellen Maschine oder einer anderen isolierten Testumgebung.
  6. Beobachte nach der Installation Fehlermeldungen, Dienste und Protokolle.

alien ist kein Ersatz für ein distributionsübergreifendes Upgrade. Es eignet sich vor allem für einzelne Pakete, wenn eine native Alternative nicht verfügbar ist und die Kompatibilität kontrolliert werden kann.

Fehlerbehebung

alien oder ein Paketwerkzeug fehlt

Wenn der Befehl nicht gefunden wird oder die Konvertierung über fehlende Programme klagt, ist alien oder ein Werkzeug für das Quell- beziehungsweise Zielformat nicht installiert. Installiere die benötigten Komponenten über den nativen Paketmanager der verwendeten Distribution.

Das Eingabeformat wird nicht erkannt

Die Datei kann beschädigt sein, eine irreführende Dateiendung tragen oder überhaupt kein unterstütztes Paket sein. Lade sie erneut aus einer vertrauenswürdigen Quelle herunter und prüfe Prüfsumme oder Signatur. Verlasse dich nicht ausschließlich auf die Endung .rpm, .deb oder .tgz.

DEB-Installation meldet fehlende Abhängigkeiten

Das Ursprungspaket verweist möglicherweise auf Abhängigkeiten, die in der Debian-basierten Zielumgebung nicht vorhanden sind oder anders heißen. Installiere benötigte Komponenten aus den Paketquellen der Zieldistribution oder suche nach einem nativen Paket beziehungsweise dem Quellcode des Programms.

Das Paket installiert sich, startet aber nicht

Mögliche Ursachen sind unpassende Bibliotheksversionen, andere Dateipfade, fehlende Dienste, falsche Architektur oder distributionsspezifische Integrationsdetails. Prüfe die konkrete Fehlermeldung und Systemprotokolle. Wenn die Anpassung unverhältnismäßig aufwendig wird, entferne das konvertierte Paket und verwende bevorzugt eine Version für die Zieldistribution.

Architekturkonflikt

Ein Paket für eine andere CPU-Architektur kann nicht durch alien repariert werden. Beschaffe eine Paketdatei für die passende Architektur. Eine Formatkonvertierung ändert die Paketstruktur, aber nicht den kompilierten Maschinencode.

Kurzüberblick

  • Die Grundsyntax lautet alien [Optionen] DATEI.
  • Ohne Zielformatoption erzeugt alien standardmäßig ein DEB-Paket.
  • -d erzeugt DEB, -r RPM und -t TGZ.
  • --to-slp erzeugt SLP; -p beziehungsweise --to-pkg erzeugt Solaris PKG, sofern unterstützt.
  • DEB-Dateien werden beispielsweise mit dpkg, RPM-Dateien mit rpm installiert.
  • Formatkonvertierung garantiert weder passende Abhängigkeiten noch funktionierende Software.
  • Native Pakete und offizielle Quellen sind konvertierten Fremdpaketen grundsätzlich vorzuziehen.