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.