如何安装抱怨rpmlib(FileDigests)<= 4.6.0-1的rpm?


27

我试图在CentOS 5上安装rpm文件,但是我不确定如何解决它带来的此问题:

$ 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版本(即4.4)兼容的rpm文件。 2.3),但我不想这样做。如何使我的系统与此rpm文件兼容?

如果您告诉我如何解决公钥错误,将获得加分。


尽管这并非完全安装软件包,但至少可以提取一个软件包,然后使用其内容而不安装它:rpm2cpio some-package.rpm | cpio -tv列出其内容并cpio -ivd提取。
ckujau

Answers:


30

括号后面的东西的语法是什么?

来自http://jfearn.fedorapeople.org/zh-CN/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html

诸如Perl和Tcl之类的脚本语言允许附加模块。您的软件包可能需要其中一些附加模块。RPM使用带括号的特殊语法来指示脚本模块依赖性。例如:要求:perl(Carp)> = 3.2这表示对Perl的Carp附加模块的要求大于或等于3.2版。

在这种情况下,它指的是rpm库的特定功能。

错误:依赖项失败:epel-release-6-5需要rpmlib(FileDigests)<= 4.6.0-1.noarch epel-release-6-5需要rpmlib(PayloadIsXz)<= 5.2-1.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
这是一个很好的答案,很多答案可以使事情变得清晰。有点过时的语气太糟糕了。也许这片土地的土地对您来说很清楚,但对我来说,这一切仍然被战争迷雾笼罩……
Pieter Breed 2012年


4

当前在CentOS 5.5上对我有用的rmp链接是:

# 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-releaseyum将获得正确的rpm

您可以进一步运行以下命令来修复公钥错误。

$ yum clean all
$ yum makecache
$ yum update

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.