Wie installiere und verwalte ich RPMs?


85

Ich habe den brennenden Wunsch, RPMs auf meiner Ubuntu-Installation zu installieren - ist das möglich? Kann ich Yum - oder ein anderes RPM-Paketverwaltungstool verwenden?


Warum? Welche Art von Software fehlt Ihnen, die Sie in Ubuntu oder den PPAs nicht finden können? Das Konvertieren von RPMs mit Alien funktioniert, ist aber nicht die beste Option.
ℝaphink

In meiner täglichen Arbeit bin ich Linux-Systemadministrator und verwalte hauptsächlich Redhat-Maschinen. Ich liebe Ubuntu, weil ich meinen Job nicht mit nach Hause nehmen muss, aber einige Dinge, die Debian für die Konfiguration verwendet (hauptsächlich Apache), machen mich wirklich verrückt. Ich bevorzuge die Art und Weise, wie RH die Apache-Software pflegt. Die Verwaltung von zwei Paketverwaltungslösungen (yum und aptitude) scheint daher eine idealere Lösung zu sein (sofern dies möglich ist)
Marco Ceppi

Zugehörige Informationen: rpm- und yum- Tag-Wikis.
Eliah Kagan

Antworten:


117

Kann ich Yum benutzen?

Ich würde es nicht empfehlen. Sie könnten es wahrscheinlich kompilieren, hätten aber keine Ubuntu-kompatiblen Paket-Repositorys, die es handhaben könnten.

Sie können mit Alien einzelne RPM-Dateien in DEBs konvertieren:

sudo apt-get install alien
sudo alien my_package.rpm
sudo dpkg -i my_package.deb

Hinweis: Möglicherweise ändert sich der Dateiname ein wenig mehr als nur die Erweiterung.

Dies funktioniert nicht bei allen Paketen, da Pakete mit anderen Paketen verknüpft werden, um Abhängigkeiten zu erfüllen. Offensichtlich verwenden Red Hat / Fedora / CentOS andere Paketnamen als Ubuntu, sodass Sie wahrscheinlich auf eine ganze Menge Schmerzen stoßen werden.

Wenn es keine DEB gibt, ist es wahrscheinlich besser, nur den Quellcode zu beschaffen und zu kompilieren.


3
wenn Ausländer nicht funktionieren , und Sie am Ende mit dem Quellcode direkt, können Sie drehen , dass in eine .deb mit Check (die im Universum - Repository ist, nicht standardmäßig installiert).
ImaginaryRobots

Checkinstall wird anstelle von verwendet make installund ist sehr praktisch, um herum zu haben. Pakete entfernen zu können ist definitiv ein Plus!
Aperson

checkinstalleignet sich hervorragend zum Verwalten eines Self-Builds in einer gepackten Umgebung, weist jedoch einige Besonderheiten auf, die manchmal bedeuten, dass etwas, das installiert make installwird, nicht installiert wird. Ich benutze es, wenn ich kann.
Oli

3
Sie tun können alien --install my_package.rpm.
Tshepang

Ich habe versucht, die neueste Version von lftp auf diese Weise zu installieren, aber die Abhängigkeiten wurden nicht aktualisiert, so dass lftp nicht versucht, folgende error while loading shared libraries: libreadline.so.7
Crouching Kitten

15

Sie müssen aliendas tun.

sudo apt-get install alien

Dadurch werden alle erforderlichen Pakete installiert. Jetzt können Sie mit der Konvertierung Ihrer RPM-Dateien in DEB-Pakete beginnen.

Verfügbare Optionen für alien:

Konvertieren Sie die Datei package.rpm in eine Datei package.deb

sudo alien -d package-name.rpm

Konvertieren Sie das package.rpmin ein package.debund installieren Sie das generierte Paket.

alien -i package-name.rpm

Wenn Sie verhindern möchten, dass Alien die Versionsnummer ändert, verwenden Sie den folgenden Befehl

alien -k rpm-package-file.rpm

7

Die kurze Antwort lautet: Nicht!

Wenn Sie eine RPM haben, die so wichtig ist, dass Sie sie benötigen, gibt es wahrscheinlich auch ein Ubuntu-Paket. und wenn nicht, lohnt es sich wahrscheinlich, sich die Mühe zu machen, es aus dem Quellcode in das Debian-Paketformat zu kompilieren (das Ubuntu ebenfalls verwendet). Nun, es gibt bestimmte Zeiten, in denen Sie die Software nicht einfach neu kompilieren können (wenn es nicht OpenSource ist, ist es unmöglich) und in diesem Fall können Sie das alienProgramm verwenden. Das Einsetzen von Drehzahlen ist ein bisschen wie das Einsetzen von Benzin in ein Dieselauto - es könnte funktionieren, aber Sie werden auf lange Sicht nicht davon profitieren!

Um ein Paket aus dem Quellcode zu erstellen, gibt es eine Anleitung im Ubuntu-Wiki. Es gibt auch ein Programm namens checkinstall , das einige Tricks mit einem Standard-Source-Tree ausführen kann, ohne Build-Anweisungen für das Paket einzurichten. Wenn Sie der Meinung sind, dass jemand anderes von den von Ihnen kompilierten Programmen profitieren kann, können Sie ein Repository auf dem Launchpad einrichten und die Paketgüte teilen!


Antworte nicht wirklich auf die Frage, also -1
Dee

3

Wenn Sie wirklich RPMs auf Ihrem System installieren müssen, sollten Sie in der Tat versuchen, sie mit "alien" zu konvertieren.

Bitte beachten Sie, dass sich "Alien" standardmäßig in die Versionsnummer des Pakets einmischt. Wenn Sie möchten, dass die Versionsnummer gleich bleibt, übergeben Sie beim Konvertieren die Option '-k'.

Sie sollten nicht versuchen, Yum oder eine andere Methode zum Installieren der RPMs, wie z. B. apt-rpm, neben den vorhandenen DEB-Paketen zu verwenden. Die DEB- und RPM-Systeme verwalten die Liste der installierten Software separat und wissen daher nicht, welche Pakete zuvor vom anderen System installiert wurden. Wenn Sie beispielsweise versuchen, eine GUI-basierte Anwendung mit einem RPM-basierten Paketverwaltungssystem zu installieren, wird versucht, wichtige Systemkomponenten selbst zu installieren, da sie noch nicht installiert sind. Dies führt entweder dazu, dass die Installation schrecklich fehlschlägt oder wichtige Systemdateien überschrieben werden.


3

Auf dem Repos gibt es einen GUI-Paketmanager namens SmartPM, der mit .deb UND .RPM umgehen kann. Canonical hat bis November 2009 zu diesem Projekt beigetragen.

Die Homepage des Projekts finden Sie hier https://github.com/smartpm/smart


Willkommen bei Ask Ubuntu! Ich empfehle , diese Antwort zu bearbeiten , um sie mit spezifischen Details zur Verwendung zu erweitern. (Siehe auch Wie schreibe ich eine gute Antwort ?, um allgemeine Ratschläge zu erhalten, welche Arten von Antworten auf Ask Ubuntu als am wertvollsten gelten.)
David Foerster

2

Alien ist ein Tool, das von einem Format (.deb oder .rpm) in ein anderes (.deb, .rpm oder tarball) konvertiert.

Alien wird davon abgeraten, bei der Konvertierung von .deb in .rpm zu verwenden. Es ist perfekt, um .deb in Tarballs zu konvertieren

Alien versucht zwar, Metadaten bei der Konvertierung zu erhalten, es treten jedoch weiterhin Probleme mit Metadaten und Abhängigkeiten auf, die die Zuverlässigkeit des Pakets beeinträchtigen und zu Konflikten führen, wenn in Zukunft Distributionspakete hinzugefügt oder entfernt werden.


2

Eigentlich ist die kürzeste Option

sudo alien -i -k packagename.rpm

Hast du keinen Außerirdischen? Hol dir eins!

sudo apt-get install alien

Alien konvertiert das rpm-Paket in das deb-Paket. Die Option -i bedeutet, dass das konvertierte Paket nach der Konvertierung installiert wird. Die Option -k stellt sicher, dass die Version nach der Konvertierung nicht +1 beträgt.


2

Befolgen Sie diese Anweisungen:

alien -k avg71lms-r30-a0782.i386.rpm

Jetzt solltest du eine avg71lms-r30-a0782.i386.debAkte haben.

So installieren Sie die .deb-Datei:

dpkg -i avg71lms-r30-a0782.i386.deb

Wenn Sie die -kOption nicht verwenden , sollten Sie die avg71lms_r30-1_i386.debDatei sehen, der Unterschied ist, dass 1 hinzugefügt wird.

Installiere alien in Ubuntu:

sudo apt-get install alien

Sie können im obigen Abschnitt nach verfügbaren Optionen suchen


1

Mit alien kann ich einfach die .rpm-Datei in eine .deb-Datei konvertieren und diese einfach installieren.

Alien ist in den normalen Debian-Repositories verfügbar, so dass wir es folgendermaßen installieren können:

sudo apt-get install alien

Um es in ein .deb-Paket zu konvertieren, führen wir es einfach aus

alien *.rpm

Sie möchten höchstwahrscheinlich einige Flags mit Alien verwenden. Zumindest werden Sie gewarnt, die Skripte nicht zu konvertieren, ohne explizit --scripts(oder -c) anzugeben
Randall


0

Hier ist eine GUI für Alien (Alien ist eine Anwendung, um rpm in deb umzuwandeln)

http://code.google.com/p/foxoman/wiki/PackageConverter


-1 Was ist "Alien" und wie hängt es mit der Installation von RPMs in Ubuntu zusammen?
David Foerster

1
@DavidFoerster Alien ist eine Anwendung, um rpm zu deb konvertieren
Anwar

2
Sag es mir nicht, bearbeite deine Antwort, um den Leuten zu sagen, die vielleicht davon profitieren möchten. Außerdem empfehle ich , diese Antwort zu bearbeiten , um sie mit spezifischen Details zu erweitern. (Siehe auch Wie schreibe ich eine gute Antwort ?, um allgemeine Hinweise zu erhalten, welche Arten von Antworten auf Ask Ubuntu als am wertvollsten gelten.)
David Foerster
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.