Jak zainstalować rpm, który narzeka na rpmlib (FileDigests) <= 4.6.0-1?

27

Próbuję zainstalować plik RPM na CentOS 5 i nie jestem pewien, jak rozwiązać te problemy, które się pojawiają:

$ rpm --install epel-release-6-5.noarch.rpm
warning: epel-release-6-5.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
error: Failed dependencies:
    rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch
    rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

Co oznaczają linie rpmlib (FileDigests) <= 4.6.0-1? czy rpmlib jest nieaktualny lub FileDigests jest nieaktualny? Co ze składnią czegoś, po której następują nawiasy?

Próbowałem użyć yum, aby mógł automatycznie rozwiązać zależności, ale nie jest w stanie:

$ sudo yum --nogpgcheck install epel-release-6-5.noarch.rpm
...
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(FileDigests) is needed by epel-release-6-5.noarch
rpmlib(PayloadIsXz) is needed by epel-release-6-5.noarch
Complete!
(1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum'])

Na tej stronie https://bugzilla.redhat.com/show_bug.cgi?id=665073 powiedziano, że moje obroty są nieaktualne, ale następnie należy poprosić o plik RPM, który działa z moją wersją RPM (czyli 4.4. 2.3), ale nie chcę tego robić. Jak sprawić, by mój system był zgodny z tym plikiem RPM?

Punkty bonusowe, jeśli powiesz mi, jak mogę naprawić błąd klucza publicznego.

Jake
źródło
Chociaż nie jest to dokładnie instalacja pakietu, można przynajmniej wyodrębnić pakiet, a następnie użyć jego zawartości bez instalowania: rpm2cpio some-package.rpm | cpio -tvaby wyświetlić listę zawartości i, cpio -ivdaby ją wyodrębnić.
ckujau

Odpowiedzi:

30

Co ze składnią czegoś, po której następują nawiasy?

From http://jfearn.fedorapeople.org/en-US/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html :

Języki skryptowe, takie jak Perl i Tcl, pozwalają na moduły dodatkowe. Twój pakiet może wymagać niektórych z tych dodatkowych modułów. RPM używa specjalnej składni z nawiasami, aby wskazać zależności modułu skryptu. Na przykład: Wymaga: perl (Carp)> = 3,2 Wskazuje to na wymaganie modułu dodatkowego Carp dla Perla, większe lub równe wersji 3.2.

W tym przypadku odnosi się do określonych funkcji biblioteki rpm.

błąd: nieudane zależności: rpmlib (FileDigests) <= 4.6.0-1 jest wymagany przez epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1 jest wymagany przez epel-release-6-5.noarch

Sugeruje to, że próbujesz zainstalować epel-releaseRPM w systemie, dla którego nie został zaprojektowany. W rzeczywistości w swoim pytaniu stwierdzasz, że instalujesz to na CentOS 5, podczas gdy pakiet, który próbujesz zainstalować, jest przeznaczony dla CentOS 6 (lub RHEL 6). W przypadku CentOS 5 potrzebujesz wersji epel-release-5-4.noarch.rpm . Zanim przejdziesz dalej, możesz przeczytać dokumentację EPEL , która odpowiedziałaby na to pytanie, a także na inne pytania.

Próbowałem użyć yum, aby mógł automatycznie rozwiązać zależności, ale nie jest w stanie:

Racja, ponieważ te funkcje nie są dostępne w CentOS 5. Z perspektywy yumpytania o magiczne jednorożce. Nie może go znaleźć.

Punkty bonusowe, jeśli powiesz mi, jak mogę naprawić błąd klucza publicznego.

Zainstaluj klucz podpisujący EPEL. Jeśli przeczytasz dokumentację EPEL - to niesamowite, co tam znajdziesz - otrzymasz link do https://fedoraproject.org/keys , który zawiera instrukcje dotyczące instalowania kluczy publicznych używanych w projekcie Fedora.

Larsks
źródło
15
To dobra odpowiedź, wiele odpowiedzi, które wyjaśniają sprawy. Szkoda, że ​​ton jest nieco ponury. Być może ukształtowanie terenu jest dla ciebie jasne, ale dla mnie wszystko wciąż jest pokryte mgłą wojny ...
Pieter Breed
4

Obecny link rmp, który pracował dla mnie w CentOS 5.5, to:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Automatycznie obsługuje zależności.

Należy również pamiętać, że pomocne może być przejrzenie repost na przykład: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / etc) w celu znalezienia najbardziej odpowiedniego / poprawnego adresu.

CNSKnight
źródło
0

Najlepszym poleceniem będzie, $ yum install epel-releasea mniam otrzyma prawidłowe rpm

Możesz dalej uruchomić poniższe polecenia, aby naprawić błąd klucza publicznego.

$ yum clean all
$ yum makecache
$ yum update
Kenny Kaane
źródło
-1

Mój problem został opisany w tym wątku: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Linki zamieszczone w dokumentacji to przekierowania, które (jakoś?) Powodują problemy z pobieraniem. Zrobiłem to, co powiedział wątek, a następnie opracowali pozostałe dokumenty EPEL.

Jesse P.
źródło
1
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
Michael Hampton