Назад | Перейти на главную страницу

Как мне установить rpm, который жалуется на rpmlib (FileDigests) <= 4.6.0-1?

Я пытаюсь установить файл 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?

Бонусные баллы, если вы скажете мне, как я могу исправить ошибку открытого ключа.

Что с синтаксисом чего-то, за которым стоят круглые скобки?

Из 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-release rpm в системе, для которой он не был разработан. Фактически, в своем вопросе вы заявляете, что устанавливаете это на 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.

Вам нужен EPEL версии 5.x (не 6.x).

http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Вы используете CentOS 5. CentOS 6 еще не вышла.

Текущая ссылка на 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 / etc), чтобы найти наиболее подходящий / правильный адрес.

Лучшая команда будет $ yum install epel-release и yum получит правильные обороты

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

$ yum clean all
$ yum makecache
$ yum update

У меня аналогичная ошибка при попытке установить переключатель языка ввода с локали клавиатуры на CentOS8

CentOS Linux release 8.1.1911 (Core) 
Derived from Red Hat Enterprise Linux 8.1 (Source)
ID_LIKE="rhel fedora"
PLATFORM_ID="platform:el8"
4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 GNU/Linux

yum install /home/i/Downloads/xneur-0.20.0-6.fc31.x86_64.rpm

...

Error: transaction check vs depsolve:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by xneur-0.20.0-6.fc31.x86_64

Проблема заключалась в полезной нагрузке zstd (сжатие) https://bugzilla.redhat.com/show_bug.cgi?id=1715799 что еще не поддерживается в RHEL8 / CentOS8

https://fedoraproject.org/wiki/Changes/Switch_RPMs_to_zstd_compression

rpm -q rpm-libs rpm
rpm-libs-4.14.2-25.el8.x86_64
rpm-4.14.2-25.el8.x86_64

затем я загрузил RPM и библиотеки версии 4.14.2-36 из официальных Репозиторий CentOS Stream

где добавлена ​​поддержка zstd:

  • Ср, 16 окт.2019 г. Пану Матилайнен - ​​4.14.2-26
  • Повторно включить поддержку zstd (# 1715799)

и установить через (БУДЬТЕ ВНИМАТЕЛЬНЫ, ВЫ МОЖЕТЕ ВЫБРАТЬ СВОЮ СИСТЕМУ с участием allowerasing вариант! делай это на свой страх и риск)

dnf install --allowerasing python3-rpm-4.14.2-36.el8.x86_64.rpm rpm-4.14.2-36.el8.x86_64.rpm rpm-build-libs-4.14.2-36.el8.x86_64.rpm rpm-libs-4.14.2-36.el8.x86_64.rpm

некоторые пакеты были удалены

Removing dependent packages:
 buildah                           x86_64        1.9.0-5.module_el8.1.0+237+63e26edc             @AppStream           24 M
 container-selinux                 noarch        2:2.107-2.module_el8.1.0+237+63e26edc           @AppStream           40 k
 rpm-build                         x86_64        4.14.2-25.el8                                   @AppStream          314 k
 rpm-plugin-selinux                x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-plugin-systemd-inhibit        x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-sign                          x86_64        4.14.2-25.el8                                   @anaconda            23 k
 selinux-policy                    noarch        3.14.3-20.el8                                   @anaconda            24 k
 selinux-policy-targeted           noarch        3.14.3-20.el8                                   @anaconda            49 M

error: selabel_open: (/etc/selinux/targeted/contexts/files/file_contexts) No such file or directory
error: Plugin selinux: hook psm_pre failed
error: selinux-policy-3.14.3-20.el8.noarch: erase failed

Failed:
  selinux-policy-3.14.3-20.el8.noarch

не знаю, как исправить selinux и что еще затронуто, но теперь я могу установить свежие RPM из Fedora / EPEL

конечно, я установил архиватор Zstandard от Facebook (приложение * .zst / zstd)

yum install zstd libzstd

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

Ссылки, размещенные в документации, представляют собой перенаправления, которые (каким-то образом?) Вызывают проблемы с загрузкой. Сделал то, что говорилось в ветке, а затем остальная часть документов EPEL отработала.