Wie Sie sicher bereits wissen, gibt es viele Möglichkeiten, Software unter Linux zu installieren: Verwenden des Paketverwaltungssystems, das von Ihrer Verteilung bereitgestellt wird (Sie haben diese Verteilung (, um einige Beispiele zu nennen), die Kompilierung aus der Quelle (obwohl heutzutage etwas selten, die einzige Methode, die in den frühen Tagen der Linux verfügbar ist) oder ein Tool mit niedrigem Level wie z.dpkgoderDrehzahlmit.DebUnd.RPMeigenständige, vorkompilierte Pakete.

In diesem Artikel werden wir Ihnen vorstellenAusländer, ein Tool, das zwischen verschiedenen Linux -Paketformaten umwandelt, mit.RPMZu.Deb(und umgekehrt) die häufigste Verwendung sein.
Dieses Tool, selbst wenn sein Autor es nicht mehr pflegt und in seiner Website stellt, dass Alien wahrscheinlich immer im experimentellen Status bleibt, kann nützlich sein, wenn Sie eine bestimmte Art von Paket benötigen, dieses Programm jedoch nur in einem anderen Paketformat finden kann.
Zum Beispiel,Ausländerrettete meinen Tag einmal, als ich nach einem suchte.DebFahrer für aTintenstrahlDrucker und konnte keinen finden - der Hersteller lieferte nur a.RPMPaket. Ich habe Alien installiert, das Paket konvertiert, und bald konnte ich meinen Drucker ohne Probleme verwenden.
Wir müssen jedoch klarstellen, dass dieses Dienstprogramm nicht zum Ersetzen wichtiger Systemdateien und Bibliotheken verwendet werden sollte, da sie über Verteilungen hinweg unterschiedlich eingerichtet werden. Verwenden Sie Alien nur als letztes Ausweg, wenn die vorgeschlagenen Installationsmethoden zu Beginn dieses Artikels nicht in Frage kommen, um das erforderliche Programm zu erhalten.
Zu guter Letzt müssen wir beachten, dass wir, obwohl wir verwenden werdenCentosUndDebianIn diesem Artikel ist auch bekannt, dass Alien in arbeitetSlackwareund sogar inSolarisNeben den ersten beiden Verteilungen und ihren jeweiligen Familien.
Schritt 1: Installation von Alien und Abhängigkeiten
Zu installierenAusländerInCentos/Rhel 7Sie müssen die aktivierenLeichtund dieNux Dextop(Ja, es ist Dextop - kein Desktop) Repositories in dieser Reihenfolge:
# yum install epel-release # rpm --import https://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
Die neueste Version des Pakets, die dieses Repository ermöglicht, ist derzeit0,5(veröffentlicht auf10. August 2015). Sie sollten überprüfenhttps://li.nux.ro/download/nux/dextop/el7/x86_64/Um zu sehen, ob es eine neuere Version gibt, bevor Sie weiter fortfahren:
# rpm -Uvh https://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
dann tun, tun,
# yum update && yum install alien
InFedoraSie müssen nur den letzten Befehl ausführen.
In Debian und Derivaten tun Sie es einfach:
# aptitude install alien
Schritt 2: Konvertieren von .deb auf das .rpm -Paket
Für diesen Test haben wir gewähltDateut, was einen Satz von liefertDatumUndZeitVersorgungsunternehmen, um große Mengen an Finanzdaten zu bewältigen. Wir werden die herunterladen.DebPaket zu unseremCentos 7Box, konvertieren Sie es in.RPMund installieren Sie es:

# cat /etc/centos-release # wget https://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, wie standardmäßig Alien die Version der Version des Zielpakets erhöht. Wenn Sie dieses Verhalten überschreiben möchten, fügen Sie die hinzu-Keep-VersionFlagge).
Wenn wir versuchen, das Paket sofort zu installieren, werden wir in ein kleines Problem stoßen:
# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm

Um dieses Problem zu lösen, werden wir das aktivierenEpel-Testing Repositoryund installieren Sie dierpmrebuildDienstprogramm zum Bearbeiten der Einstellungen des zu wiedergebauten Pakets:
# yum --enablerepo=epel-testing install rpmrebuild
Dann rennen,
# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm
Dies öffnet Ihren Standard -Texteditor. Gehe zum%files
Abschnitt und löschen Sie die Zeilen, die sich auf die in der Fehlermeldung genannten Verzeichnisse beziehen, und speichern Sie dann die Datei und beenden Sie:

Wenn duAusfahrtDie Datei wird aufgefordert, mit dem Wiederaufbau fortzufahren. Wenn Sie wählenY, Die Datei wird in das angegebene Verzeichnis umgebaut (anders als das aktuelle Arbeitsverzeichnis):
# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm

Jetzt können Sie das Paket installieren 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

Schließlich können Sie die einzelnen Tools auflisten, die enthalten warenDateutund prüfen Sie alternativ ihre jeweiligen Mannseiten:
# ls -l /usr/bin | grep dateutils

Schritt 3: Konvertieren von .RPM in .DEB -Paket
In diesem Abschnitt werden wir veranschaulichen, wie man von konvertiert wird.RPMZu.Deb. In einem 32-BitDebian WheezyBox, lasst uns die herunterladen.RPMPaket für dieZSHHülle aus demCentOS 6 DieRepository. Beachten Sie, dass diese Shell in Debian und Derivaten standardmäßig nicht verfügbar ist.
# cat /etc/shells # lsb_release -a | tail -n 4

# wget https://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
Sie können die Nachrichten über eine fehlende Signatur sicher ignorieren:

Nach ein paar Augenblicken die.DebDie Datei sollte generiert werden und bereit sein zu installieren:
# dpkg -i zsh_4.3.11-5_i386.deb

Nach der Installation können Sie das überprüfenZSHwird der Liste der gültigen Shells hinzugefügt:
# cat /etc/shells

Zusammenfassung
In diesem Artikel haben wir erklärt, wie man von konvertiert wird.RPM zu .debund umgekehrt, um Pakete als letztes Ausweg zu installieren, wenn solche Programme in den Repositories oder als verteilbarer Quellcode nicht verfügbar sind. Sie werden diesen Artikel mit einem Lesezeichen versehen möchten, weil wir alle zu der einen oder anderen Zeit fremd werden müssen.
Teilen Sie Ihre Gedanken zu diesem Artikel mit dem folgenden Formular mit.