Jak zainstalować RPM i zarządzać nimi?

85

Mam palącą chęć zainstalowania RPM w mojej instalacji Ubuntu - czy to możliwe? Czy mogę użyć Yum - lub innego narzędzia do zarządzania pakietami RPM?

Marco Ceppi
źródło
Dlaczego? Jakiego oprogramowania brakuje w Ubuntu lub PPA? Konwersja rpms za pomocą obcych działa, ale tak naprawdę nie jest to najlepsza opcja.
ℝaphink
W swojej pracy jestem administratorem systemu Linux i zarządzam głównie maszynami Redhat. Uwielbiam Ubuntu, ponieważ nie muszę zabierać ze sobą pracy do domu, ale niektóre rzeczy, których używa Debian do konfiguracji (głównie Apache), naprawdę doprowadzają mnie do szału. Wolę sposób, w jaki RH utrzymuje oprogramowanie apache. Zatem utrzymanie dwóch rozwiązań do zarządzania pakietami (mniam i aptitude) wydaje się bardziej idealnym rozwiązaniem (jeśli to możliwe)
Marco Ceppi
Powiązane informacje: wiki rpm i yum tag.
Eliah Kagan

Odpowiedzi:

117

Czy mogę użyć Yum

Nie poleciłbym tego. Prawdopodobnie mógłbyś go skompilować, ale nie miałbyś żadnych repozytoriów pakietów kompatybilnych z Ubuntu.

Państwo może przekształcić pojedyncze pliki RPM do DEBS z obcymi:

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

Uwaga: może zmienić nieco nazwę pliku, a nie tylko rozszerzenie.

To nie zadziała, ponieważ pakiety łączą się z innymi pakietami w celu spełnienia zależności. Oczywiście Red Hat / Fedora / CentOS używa różnych nazw pakietów dla Ubuntu, więc prawdopodobnie spotkasz się z całym ciężarem bólu.

Są szanse, że jeśli DEB nie istnieje, lepiej będzie po prostu zdobyć źródło i skompilować je.

Oli
źródło
3
jeśli cudzoziemiec nie działa i nie kończy się bezpośrednio przy użyciu kodu źródłowego, można włączyć , że w .deb używając checkinstall (który jest w repozytorium wszechświata, nie zainstalowanego domyślnie).
ImaginaryRobots
Checkinstall jest używany zamiast make installi jest bardzo przydatny, aby mieć go przy sobie. Zdolność do usuwania pakietów to zdecydowanie plus!
aperson
checkinstalldoskonale nadaje się do utrzymywania własnej kompilacji w spakowanym środowisku, ale ma pewne dziwactwa, które czasami oznaczają, że coś, co zostanie zainstalowane make install, nie zostanie zainstalowane. Używam go, kiedy mogę.
Oli
3
można zrobić alien --install my_package.rpm.
tshepang
Próbowałem zainstalować najnowszą wersję lftp w ten sposób, ale nie zaktualizowało to zależności, więc lftp nie rozpoczyna próby załadowania:error while loading shared libraries: libreadline.so.7
Crouching Kitten
15

Musisz to alienzrobić.

sudo apt-get install alien

Spowoduje to zainstalowanie wszystkich wymaganych pakietów. Teraz możesz rozpocząć konwersję plików .rpm do pakietów .deb.

Dostępne opcje dla alien:

Przekształć plik package.rpm w plik package.deb

sudo alien -d package-name.rpm

Konwertuj package.rpmna a package.debi zainstaluj wygenerowany pakiet.

alien -i package-name.rpm

Jeśli chcesz powstrzymać kosmitę przed zmianą numeru wersji, użyj następującego polecenia

alien -k rpm-package-file.rpm
Frantique
źródło
7

Krótka odpowiedź brzmi : nie!

Jeśli masz RPM, który jest tak ważny, że musisz go mieć, prawdopodobnie jest też pakiet Ubuntu; a jeśli nie, prawdopodobnie warto spróbować skompilować go ze źródła do formatu pakietu Debiana (z którego korzysta także Ubuntu). Są chwile, w których nie można po prostu ponownie skompilować oprogramowania (jeśli nie jest to oprogramowanie typu open source, jest to niemożliwe) iw takim przypadku możesz użyć alienprogramu. Ale instalacja z RPM przypomina trochę wsadzenie benzyny do samochodu z silnikiem Diesla - może działać, ale na dłuższą metę nie skorzystasz!

Aby zbudować pakiet ze źródła, na Wiki Ubuntu znajduje się przewodnik ; istnieje również program o nazwie checkinstall, który może wykonywać pewne sztuczki z domyślnym drzewem źródłowym bez ustawiania instrukcji kompilacji dla pakietu. Jeśli uważasz, że ktoś inny może skorzystać z kompilowanych programów, możesz skonfigurować repozytorium na starterze i udostępnić dobroć pakietu!

LassePoulsen
źródło
tak naprawdę nie odpowiadam na pytanie, więc -1
Dee
3

Jeśli naprawdę potrzebujesz zainstalować RPM w swoim systemie, powinieneś spróbować przekonwertować je za pomocą „obcych”.

Należy pamiętać, że domyślnie „obcy” wtrąca się w numer wersji pakietu. Jeśli chcesz, aby numer wersji pozostał taki sam, podaj opcję „-k” podczas konwersji.

Nie powinieneś próbować używać Yum ani żadnego innego sposobu instalowania RPM, takich jak apt-rpm, same obok istniejących pakietów DEB. Systemy DEB i RPM osobno zarządzają listą zainstalowanego oprogramowania i dlatego nie wiedzą, jakie pakiety zostały wcześniej zainstalowane przez inny system. Jeśli np. Spróbujesz zainstalować aplikację z graficznym interfejsem użytkownika z systemem zarządzania pakietami opartym na RPM, spróbuje ona zainstalować istotne komponenty systemu, ponieważ uważa, że ​​nie zostały jeszcze zainstalowane. Spowoduje to albo straszne niepowodzenie instalacji, albo zastąpi ważne pliki systemowe.

Sense Hofstede
źródło
3

Na repozytoriach jest menedżer pakietów GUI o nazwie SmartPM, może on obsługiwać pliki .deb ORAZ .RPM. Firma Canonical przyczyniła się do powstania tego projektu do listopada 2009 r.

Strona główna projektów znajduje się tutaj https://github.com/smartpm/smart

Anwar
źródło
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje o tym, jak to zrobić. (Zobacz także Jak napisać dobrą odpowiedź? Zawiera ogólne porady na temat tego, jakie rodzaje odpowiedzi są uważane za najbardziej wartościowe w Ask Ubuntu.)
David Foerster
2

Alien to narzędzie, które konwertuje z jednego formatu (.deb lub .rpm) na inny (.deb, .rpm lub tarball)

Alien nie jest zalecany do konwersji z .deb na .rpm, jest idealny do konwersji .deb na tarballe

Chociaż Alien próbuje zachować metadane podczas konwersji, ale nadal będą występowały problemy z metadanymi i zależnościami, co spowoduje, że pakiet będzie mniej niezawodny, a zatem wystąpią konflikty przy dodawaniu lub usuwaniu pakietów zakłóceń w przyszłości.


źródło
2

Właściwie najkrótsza opcja to

sudo alien -i -k packagename.rpm

Nie masz kosmity? Dostać jeden!

sudo apt-get install alien

Alien przekonwertuje pakiet rpm na pakiet deb, opcja -i oznacza instalację przekonwertowanego pakietu po konwersji, a opcja -k zapewnia, że ​​wersja nie będzie +1 po konwersji.

Dee
źródło
2

Postępuj zgodnie z tymi instrukcjami:

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

Teraz powinieneś mieć avg71lms-r30-a0782.i386.debplik.

Aby zainstalować plik .deb:

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

Jeśli nie użyjesz -kopcji, powinieneś zobaczyć avg71lms_r30-1_i386.debplik, różnica polega na tym, że doda 1.

Zainstaluj Alien w Ubuntu:

sudo apt-get install alien

Możesz sprawdzić powyższą sekcję pod kątem dostępnych opcji

Laura Segura
źródło
1

W programie Alien mogę po prostu przekonwertować plik .rpm na plik .deb i po prostu go zainstalować.

Alien jest dostępny w zwykłych repozytoriach Debiana, więc możemy go zainstalować w następujący sposób:

sudo apt-get install alien

Aby przekonwertować go na pakiet .deb, po prostu uruchamiamy

alien *.rpm
krupal6022
źródło
Najprawdopodobniej chcesz użyć niektórych flag z kosmitą. Przynajmniej ostrzeże Cię przed konwersją skryptów bez wyraźnego określenia --scripts(lub -c)
Randall
0

użyj alien, który konwertuje rpm na deb, a następnie instaluje deb.

anurag-jain
źródło
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat tego, jak to zrobić. (Patrz również Jak napisać dobrą odpowiedź? O ogólne porady o jakiego rodzaju odpowiedzi są uważane za najbardziej wartościowe na Zapytaj Ubuntu.)
David Foerster
0

Oto GUI dla Alien (alien to aplikacja do konwersji rpm na deb)

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

Alok
źródło
-1 Co to jest „Alien” i jak to się wiąże z instalacją RPM w Ubuntu?
David Foerster
1
@DavidFoerster alien to aplikacja do konwersji rpm na deb
Anwar
2
Nie mów mi, edytuj swoją odpowiedź, aby poinformować osoby, które mogą chcieć z niej skorzystać. Ponadto zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat tego, jak to zrobić. (Zobacz także Jak napisać dobrą odpowiedź? Zawiera ogólne porady na temat tego, jakie rodzaje odpowiedzi są uważane za najcenniejsze w Ask Ubuntu.)
David Foerster,