Website-Suche

So konvertieren Sie mit Alien ein RPM- in ein DEB- und ein DEB-in-RPM-Paket


Wie Sie sicher bereits wissen, gibt es viele Möglichkeiten, Software unter Linux zu installieren: Verwenden des von Ihrer Distribution bereitgestellten Paketverwaltungssystems (Aptitude, Yum oder Zypper, um nur einige Beispiele zu nennen) oder Kompilieren aus dem Quellcode (wenn auch etwas). (heutzutage selten, es war die einzige verfügbare Methode in den frühen Tagen von Linux) oder die Verwendung eines Low-Level-Tools wie dpkg oder rpm mit .deb< bzw. .rpm eigenständige, vorkompilierte Pakete.

In diesem Artikel stellen wir Ihnen alien vor, ein Tool, das zwischen verschiedenen Linux-Paketformaten konvertiert, von .rpm nach .deb (und umgekehrt). umgekehrt) ist die häufigste Verwendung.

Dieses Tool kann nützlich sein, wenn Sie einen bestimmten Pakettyp benötigen, dieses Programm aber nur in einem anderen Paketformat finden, auch wenn sein Autor es nicht mehr pflegt und auf seiner Website angibt, dass Alien wahrscheinlich immer im experimentellen Status bleiben wird.

Zum Beispiel hat alien mir einmal den Tag gerettet, als ich nach einem .deb-Treiber für einen Tintenstrahl-Drucker suchte und keinen finden konnte – den Der Hersteller stellte lediglich ein .rpm-Paket zur Verfügung. Ich habe Alien installiert, das Paket konvertiert und schon nach kurzer Zeit konnte ich meinen Drucker ohne Probleme verwenden.

Allerdings müssen wir klarstellen, dass dieses Dienstprogramm nicht zum Ersetzen wichtiger Systemdateien und Bibliotheken verwendet werden sollte, da diese in den verschiedenen Distributionen unterschiedlich eingerichtet sind. Verwenden Sie Alien nur als letzten Ausweg, wenn die am Anfang dieses Artikels empfohlenen Installationsmethoden für das erforderliche Programm nicht in Frage kommen.

Zu guter Letzt müssen wir beachten, dass Alien bekanntermaßen auch in Slackware funktioniert, obwohl wir in diesem Artikel CentOS und Debian verwenden und sogar in Solaris, abgesehen von den ersten beiden Distributionen und ihren jeweiligen Familien.

Schritt 1: Alien und Abhängigkeiten installieren

Um alien in CentOS/RHEL 7 zu installieren, müssen Sie EPEL und Nux aktivieren Dextop-Repositorys (ja, es ist Dextop – nicht Desktop), in dieser Reihenfolge:

yum install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

Die neueste Version des Pakets, das dieses Repository ermöglicht, ist derzeit 0.5 (veröffentlicht am 10. August 2015). Sie sollten unter http://li.nux.ro/download/nux/dextop/el7/x86_64/ prüfen, ob es eine neuere Version gibt, bevor Sie fortfahren:

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

dann mach,

yum update && yum install alien

In Fedora müssen Sie nur den letzten Befehl ausführen.

Gehen Sie in Debian und Derivaten einfach wie folgt vor:

aptitude install alien

Schritt 2: Konvertieren vom .deb- in das .rpm-Paket

Für diesen Test haben wir dateutils ausgewählt, das eine Reihe von Dienstprogrammen für Datum und Zeit für den Umgang mit großen Mengen an Finanzdaten bereitstellt. Wir werden das .deb-Paket auf unsere CentOS 7-Box herunterladen, es in .rpm konvertieren und installieren:

cat /etc/centos-release
wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb

Wichtig: (Bitte beachten Sie, dass Alien standardmäßig die Versions-Minor-Nummer des Zielpakets erhöht. Wenn Sie dieses Verhalten überschreiben möchten, fügen Sie das – hinzu. keep-version-Flag).

Wenn wir versuchen, das Paket sofort zu installieren, stoßen wir auf ein kleines Problem:

rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 

Um dieses Problem zu lösen, aktivieren wir das epel-testing-Repository und installieren das Dienstprogramm rpmrebuild, um die Einstellungen des neu zu erstellenden Pakets zu bearbeiten:

yum --enablerepo=epel-testing install rpmrebuild

Dann renne,

rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

Dadurch wird Ihr Standardtexteditor geöffnet. Gehen Sie zum Abschnitt %files und löschen Sie die Zeilen, die auf die in der Fehlermeldung genannten Verzeichnisse verweisen. Speichern Sie dann die Datei und beenden Sie den Vorgang:

Wenn Sie die Datei beenden, werden Sie aufgefordert, mit der Neuerstellung fortzufahren. Wenn Sie Y wählen, wird die Datei im angegebenen Verzeichnis neu erstellt (anders als das aktuelle Arbeitsverzeichnis):

rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

Jetzt können Sie mit der Installation des Pakets fortfahren und wie gewohnt überprüfen:

rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
rpm -qa | grep dateutils

Abschließend können Sie die einzelnen Tools auflisten, die in dateutils enthalten waren, und alternativ die entsprechenden Manpages überprüfen:

ls -l /usr/bin | grep dateutils

Schritt 3: Konvertieren vom .rpm- in das .deb-Paket

In diesem Abschnitt veranschaulichen wir, wie man von .rpm nach .deb konvertiert. Laden wir in einer 32-Bit-Debian Wheezy-Box das .rpm-Paket für die zsh-Shell vom Betriebssystem CentOS 6 herunter. Repository. Beachten Sie, dass diese Shell in Debian und Derivaten nicht standardmäßig verfügbar ist.

cat /etc/shells
lsb_release -a | tail -n 4

wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

Die Meldungen über eine fehlende Signatur können Sie getrost ignorieren:

Nach einigen Augenblicken sollte die Datei .deb generiert worden sein und zur Installation bereit sein:

dpkg -i zsh_4.3.11-5_i386.deb

Nach der Installation können Sie überprüfen, ob zsh zur Liste der gültigen Shells hinzugefügt wurde:

cat /etc/shells

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man von .rpm nach .deb und umgekehrt konvertiert, um Pakete als letzten Ausweg zu installieren, wenn solche Programme nicht in den Repositorys oder als verteilbarer Quellcode verfügbar sind. Sie sollten diesen Artikel mit einem Lesezeichen versehen, da jeder von uns irgendwann mal einen Alien braucht.

Teilen Sie uns gerne Ihre Gedanken zu diesem Artikel über das untenstehende Formular mit.