我正在尝试降级我的RPM
软件包本身的版本,而不是仅仅降级其他软件包的 .rpm。
我正在尝试创建一些 .rpm 文件,但目标计算机安装了旧版本RPM
,看起来我当前提供的 .rpm 使用较新的库。
[root@lonlx1071b11 tmp]# rpm -ivh agents-1.0-1.x86_64.rpm
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by agents-1.0-1.x86_64
rpmlib(PayloadIsXz) <= 5.2-1 is needed by agents-1.0-1.x86_64
我当前的RPM
版本是:
root@localhost tmp]# rpm --version
RPM version 4.11.3
当前目标RPM
版本是:
[root@lonlx1071b11 ~]# rpm --version
RPM version 4.4.2.3
当我尝试yum downgrade rpm-4.4.2.3-36.el5_11.x86_64.rpm
我收到依赖错误。删除RPM
并重新安装它也不起作用,因为它说我尝试删除yum
并且受到保护。所以我假设yum
正在使用RPM
如果有一个明显的解决方案,我很抱歉,但我没有进行大量研究,而且我似乎无法真正找到解决方案。
如果需要,我可以发布依赖性错误,但它们相当大。我暂时将它们排除在外,以使问题更易于阅读。
答案1
根据http://rpm.org/max-rpm-snapshot/ch-rpm-b-command.html
我可以使用 --rcfile 来使用一组不同的 RPM 默认值。
不幸的是,我对目标的访问受到限制,因此我无法获取该目标的 rcfile。我最终只是旋转了 CentOS 的早期映像,该映像使用目标 rpm 版本并再次创建了软件包。