Im Bereich der binären Paketformate nimmt Debian eine führende Position ein. Das DEB-Dateiformat erfreut sich unter Entwicklern großer Beliebtheit. Daher profitieren Linux-Distributionen, die auf Debian aufbauen, oft als erste von neuen Softwareprodukten. Bekannte Beispiele hierfür sind Steam, Spotify, Google Chrome und Skype. Obwohl Red Hat-basierte Linux-Betriebssysteme ebenfalls Beachtung finden, ist diese im Vergleich zu Debian deutlich geringer. Aus diesem Grund suchen viele nach Möglichkeiten, Debian-Programme zu dekompilieren und zu reverse-engineeren. Es gibt verschiedene Ansätze, aber der effektivste Weg, ein Debian-Programm unter Linux in ein Red Hat-Format zu konvertieren, ist die Nutzung des Paketkonverters Alien.
Vorbereitungen
Alien ist ein in der Programmiersprache Perl geschriebenes Tool. Um diese Terminalanwendung nutzen zu können, müssen zunächst einige Perl-Pakete installiert werden. Auf einigen Linux-Systemen ist Perl möglicherweise bereits vorhanden. In dieser Anleitung konzentrieren wir uns auf die Konvertierung von Debian-Paketen in das Red Hat-Format. Daher zeigen wir lediglich, wie man Perl unter Fedora und OpenSUSE installiert.
Um zu prüfen, ob die benötigten Werkzeuge auf Ihrem System bereits installiert sind, öffnen Sie ein Terminal und geben Sie folgenden Befehl ein:
perl --help
Wird dieser Befehl auf einem Rechner ausgeführt, auf dem Perl bereits installiert ist, erscheint eine Hilfemeldung. Diese Meldung enthält Informationen über die Sprache, ihre Verwendung usw. Wenn nach der Eingabe des Befehls nichts passiert, sind die Perl-Werkzeuge nicht installiert.
Installation von Perl unter Fedora
sudo dnf install perl-core
Installation von Perl unter OpenSUSE
Perl ist über das OBS verfügbar. Besuchen Sie diese Seite und installieren Sie es durch Klicken auf „Direkte Installation“.
Alien kompilieren
Die Kompilierung von Alien ist recht einfach und besteht aus drei Schritten. Zunächst laden Sie den Quellcode von der offiziellen SourceForge-Seite herunter. Öffnen Sie anschließend ein Terminal und führen Sie die folgenden Schritte aus:
Wechseln Sie zunächst in das Verzeichnis, in dem sich der Alien-Quellcode befindet.
cd ~/Downloads
Entpacken Sie das Archiv mit dem Befehl tar.
tar xvfJ alien_8.95.tar.xz
Navigieren Sie anschließend mit dem cd-Befehl in das entpackte Code-Verzeichnis.
cd alien_8.95
Erzeugen Sie zunächst mit Perl eine MakeFile. Dies ist erforderlich, damit Ihr System weiß, wie die Software kompiliert werden soll.
perl Makefile.PL
Nutzen Sie nun die erstellte Make-Datei, um die Software zu „bauen“.
make
Alien ist nun kompiliert und einsatzbereit. Der nächste Schritt ist, die Software aus dem Quellcode-Verzeichnis an den richtigen Speicherort auf Ihrem System zu verschieben. Dies geschieht mit dem Befehl „make install“. Im Unterschied zu den vorherigen Befehlen muss „make install“ mit Root-Rechten ausgeführt werden, da die Software in wichtige Systemverzeichnisse verschoben wird.
sudo make install
Nach Abschluss des Befehls „make install“ kann Alien über das Terminal mit dem Befehl „alien“ gestartet werden.
Konvertierung von Debian-Paketen nach Red Hat
Um ein Paket vom Debian- ins Red Hat-Format zu konvertieren, laden Sie zunächst ein beliebiges Paket herunter. Da DEBs das gängigste Linux-Binärformat sind, sollte dies nicht allzu schwierig sein. Falls Sie nicht sicher sind, wie man vorgeht, werfen Sie einen Blick auf unsere Anleitung, wie man fehlende Software auf Ubuntu findet.
Wenn Sie eine Debian-Paketdatei haben, öffnen Sie ein Terminal und navigieren Sie mit dem Befehl cd in Ihren Download-Ordner.
cd ~/Downloads
Konvertieren Sie das Programm mit dem Schalter -r von DEB zu RPM.
sudo alien -r *.deb
Dieser Befehl führt in den meisten Fällen zur Erstellung eines RPM-Pakets durch Alien. Beachten Sie jedoch, dass dies nicht immer reibungslos funktioniert. Einige Debian-Pakete beinhalten spezialisierte Dateien, die eine Konvertierung unter Umständen verhindern.
Weitere Funktionen von Alien
Der Paketkonverter Alien kann mehr als nur von Debian nach RPM konvertieren. Hier erfahren Sie, wie Sie weitere Funktionen nutzen können:
RPM zu DEB
Mit dem Schalter -d können Benutzer ein RPM-Paket in eine Debian-Datei umwandeln.
sudo alien -d file.rpm
Konvertierung in ein Slackware-Paket
Verwenden Sie den Schalter -t, um ein beliebiges Paket in ein Slackware-Linux-Paket umzuwandeln.
sudo alien -t file
Konvertierung in ein Solaris-Paket
Konvertieren Sie mit dem Schalter -p beliebige Paketformate in das Solaris-Paketformat.
sudo alien -p file
Festlegung von Berechtigungen
Manchmal können durch die Konvertierung zwischen verschiedenen Binärformaten einzelne Berechtigungen falsch gesetzt werden. Aus diesem Grund verfügt Alien über eine Funktion, um diverse Berechtigungsprobleme zu lösen. Nutzen Sie das Flag –fixperms, um solche Fehler zu beheben.
sudo alien file --fixperms
Testen erstellter Pakete
Es ist möglich, mit Alien neu erstellte Pakete zu testen. Verwenden Sie hierfür das Flag –test.
sudo alien file --test