以下为转载,但是有改动,原作者在一处写错了,将高写成了低,直接差之毫厘,谬之千里。

环境:

centos el5

背景:

由于个人比较喜欢用软件的最新版本,在重新安装服务器上的 xdg-open(还有yum等) 时,在https://rpmfind.net/linux/rpm2html/search.php?query=xdg-utils下载最近的 xdg-utils-20160610-3.1.noarch.rpm, 安装

rpm -ivh xdg-utils-20160610-3.1.noarch.rpm
  • 1

然后报出下面一堆缺少的依赖包:
error: Failed dependencies:
perl-Net-DBus is needed by xdg-utils-20160610-3.1.noarch
perl-X11-Protocol is needed by xdg-utils-20160610-3.1.noarch
rpmlib(PayloadIsLzma) <= 4.4.6-1 is needed by xdg-utils-20160610-3.1.noarch

解决

试图从网上下载以上的包,并进行安装,发现以上包都是在比较高的系统版本中。

1, 在RHEL6中,新版的rpm使用了新的file digest algorithms 和 compression algorithms,所以当在RHEL6或centos6环境下编译RHEL5或centos5下使用的rpm包时,就会出现以上错误

2, 使用的软件版本不对。

后来下载使用 xdg-utils-1.0.2-1.el5.rf.noarch.rpm 能正常安装。此文件开发日期较早,对应当前电脑系统。

参考文章:
rpmlib(FileDigests),rpmlib(PayloadIsXz) is needed解决办法

---------------------

本文来自 面向未来的历史 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/a1368783069/article/details/69391270?utm_source=copy

05-11 09:38