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