Як встановити rpm, який скаржиться на rpmlib (FileDigests) <= 4.6.0-1?


27

Я намагаюся встановити rpm-файл на CentOS 5, і я не знаю, як вирішити ці проблеми, які він викликає:

$ 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

Що означають рядки rpmlib (FileDigests) <= 4.6.0-1? застаріла версія rpmlib або застаріла FileDigests? Що з синтаксисом чогось, що супроводжується дужками?

Я намагався використовувати yum, щоб він міг автоматично вирішувати залежності, але він не в змозі:

$ 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'])

На цій сторінці https://bugzilla.redhat.com/show_bug.cgi?id=665073 вони кажуть, що мій rpm застарів, але потім кажуть, що я повинен запитати файл rpm, який працює з моєю версією rpm (що становить 4.4. 2.3) але я не хочу цього робити. Як зробити свою систему сумісною з цим файлом rpm?

Бонусні бали, якщо ви скажете мені, як я можу виправити помилку відкритого ключа.


Хоча це не точно встановлення пакету, можна принаймні витягнути пакунок, а потім використовувати його вміст без його встановлення: rpm2cpio some-package.rpm | cpio -tvперелічити його вміст і разом з cpio -ivdйого витягнути.
ckujau

Відповіді:


30

Що з синтаксисом чогось, що супроводжується дужками?

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

Мови сценаріїв, такі як Perl та Tcl, дозволяють використовувати додаткові модулі. У вашому пакеті можуть знадобитися деякі з цих додаткових модулів. RPM використовує спеціальний синтаксис з дужками для позначення залежностей модуля сценарію. Наприклад: Потрібно: perl (Carp)> = 3.2 Це вказує на вимогу до модуля розширення Carp для Perl, що перевищує або дорівнює версії 3.2.

У цьому випадку йдеться про особливості бібліотеки rpm.

помилка: невдалі залежності: rpmlib (FileDigests) <= 4.6.0-1 потрібен epel-release-6-5.noarch rpmlib (PayloadIsXz) <= 5.2-1, потрібен epel-release-6-5.noarch

Це говорить про те, що ви намагаєтесь встановити epel-releaserpm у системі, для якої він не був розроблений. Справді, у своєму запитанні ви заявляєте, що встановлюєте це на CentOS 5, тоді як пакет, який ви намагаєтесь встановити, розроблений для CentOS 6 (або RHEL 6). Для CentOS 5 вам потрібно epel-release-5-4.noarch.rpm . Ви можете прочитати документацію EPEL, перш ніж продовжувати, яка відповіла б на це питання, а також інші, які у вас можуть бути.

Я намагався використовувати yum, щоб він міг автоматично вирішувати залежності, але він не в змозі:

Правильно, тому що ці функції недоступні в CentOS 5. З точки зору yumви просили її про магічні єдинороги. Він не може знайти жодного.

Бонусні бали, якщо ви скажете мені, як я можу виправити помилку відкритого ключа.

Встановіть ключ підпису EPEL. Якщо ви прочитаєте документацію EPEL - дивовижно, що там ви знайдете - ви отримаєте посилання на https://fedoraproject.org/keys , яке містить інструкції щодо встановлення відкритих ключів, які використовує проект Fedora.


15
Це гарна відповідь, безліч відповідей, які ясні речі. Шкода про тон, який злегка химерний. Можливо, тобі земля вам зрозуміла, але для мене це все ще вкрите туманом війни ...
Пітер Порода


4

Поточна посилання rmp, яка працювала для мене на CentOS 5.5:

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

Обробляє залежності автоматично.

Також зауважте, що може бути корисно вивчити репост за адресою: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6 / i386 / тощо), щоб знайти найбільш відповідну / правильну адресу.


0

Найкраща команда буде, $ yum install epel-releaseі yum отримає правильні обороти в хвилину

Ви також можете запустити наведені нижче команди, щоб виправити помилку відкритого ключа.

$ yum clean all
$ yum makecache
$ yum update

-1

Моя проблема була описана в цій темі: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

Посилання, розміщені в документації, є переспрямуванням, які (якось?) Викликають проблеми із завантаженням. Зробив те, що сказав нитка, і тоді решта документів EPEL відпрацювали.


1
Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
Майкл Хемптон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.