GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So konvertieren Sie mit Alien von RPM zu DEB und DEB zu 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), 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 U/min mit .deb und .rpm eigenständige bzw. vorkompilierte Pakete.

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

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

Zum Beispiel Alien einmal hat mir der Tag gerettet, als ich nach einer .deb gesucht habe Treiber für einen Inkjet Drucker und konnte keinen finden – der Hersteller lieferte nur eine .rpm Paket. Ich installierte Alien, konvertierte das Paket und schon bald konnte ich meinen Drucker ohne Probleme verwenden.

Allerdings müssen wir klarstellen, dass dieses Dienstprogramm nicht verwendet werden sollte, um wichtige Systemdateien und Bibliotheken zu ersetzen, da sie je nach Distribution unterschiedlich eingerichtet sind. Verwenden Sie Alien nur als letzten Ausweg, wenn die vorgeschlagenen Installationsmethoden am Anfang dieses Artikels für das erforderliche Programm nicht in Frage kommen.

Zu guter Letzt müssen wir anmerken, dass wir zwar CentOS verwenden werden und Debian in diesem artikel ist bekannt, dass alien auch in Slackware funktioniert und sogar in Solaris , neben den ersten beiden Distributionen und ihren jeweiligen Familien.

Schritt 1:Alien und Abhängigkeiten installieren

Um alien zu installieren in CentOS /RHEL 7 , müssen Sie das EPEL aktivieren und der Nux Dextop (ja, es ist Dextop – nicht Desktop) Repositories, 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 aktiviert, ist derzeit 0.5 (veröffentlicht am 10. August 2015 ). Sie sollten unter http://li.nux.ro/download/nux/dextop/el7/x86_64/ nachsehen, 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 tun,

# yum update && yum install alien

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

Führen Sie in Debian und Derivaten einfach Folgendes aus:

# aptitude install alien

Schritt 2:Konvertieren von .deb in .rpm-Paket

Für diesen Test haben wir dateutils ausgewählt , die eine Reihe von Datum bereitstellt und Zeit Dienstprogramme für den Umgang mit großen Mengen an Finanzdaten. Wir werden die .deb herunterladen Paket zu unserem CentOS 7 Box, wandeln Sie es in .rpm um und installieren Sie es:

# 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 Unterversionsnummer des Zielpakets erhöht. Wenn Sie dieses Verhalten überschreiben möchten, fügen Sie die –keep-version hinzu Flagge).

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

# 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 Sie den rpmrebuild Dienstprogramm zum Bearbeiten der Einstellungen des neu zu erstellenden Pakets:

# yum --enablerepo=epel-testing install rpmrebuild

Dann lauf,

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

Dadurch wird Ihr Standard-Texteditor geöffnet. Gehen Sie zu den %files Abschnitt und löschen Sie die Zeilen, die auf die in der Fehlermeldung erwähnten Verzeichnisse verweisen, speichern Sie dann die Datei und beenden Sie:

Beim Beenden der Datei werden Sie aufgefordert, mit der Neuerstellung fortzufahren. Wenn Sie J 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 es 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 prüfen Sie alternativ die entsprechenden Manpages:

# ls -l /usr/bin | grep dateutils

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

In diesem Abschnitt zeigen wir, wie man von .rpm konvertiert zu .deb . In einem 32-Bit-Debian Wheezy Box laden wir die .rpm herunter Paket für zsh Shell aus dem CentOS 6-Betriebssystem Repository. Beachten Sie, dass diese Shell nicht standardmäßig in Debian und Derivaten 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 wenigen Augenblicken wird die .deb Datei sollte 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 wird zur Liste der gültigen Shells hinzugefügt:

# cat /etc/shells

Zusammenfassung

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

Zögern Sie nicht, Ihre Meinung zu diesem Artikel über das unten stehende Formular mitzuteilen.


Linux
  1. So zeigen Sie zusätzliche Paketinformationen mit yum und yumdb an – RedHat Linux

  2. So listen Sie Dateien auf, die von einem RPM- oder DEB-Paket in Linux installiert wurden

  3. Debian:So installieren oder entfernen Sie DEB-Pakete mit dpkg

  4. So installieren Sie MongoDB von der Quelle (und mit YUM) unter Linux

  5. So überprüfen Sie die Integrität des RPM-Pakets in Linux

Wie man Pakete zwischen .deb und .rpm konvertiert

So installieren und verwalten Sie Pakete auf CentOS mit RPM

So konvertieren Sie Linux-Pakete mit Alien

So erstellen Sie ein RPM-Paket aus einem Tarball

So installieren Sie Java 8 JRE und JDK aus einer RPM-Datei unter Linux

So zeigen Sie Dateien aus RPM-, DEB-, Depot- und MSI-Paketen an und extrahieren sie