rpm提示:XXX conflicts with file form package XXX

最近为兼容云计算厂家提供的虚拟机备份恢复业务场景,甲方提供内部库以及相应demo作为引子,一个rpm包,一个引发血案的rpm包。包的样子就是一个普通的rpm包,平平无奇。而这个平平无奇的rpm包中依赖某个包导致一直无法安装成功。

案情回顾:

1.配置相应新机yum源,epel-release和阿里或者清华大学的。

2.在pkgs.org上寻找各个版本稀奇古怪的包然后进行安装,说的就是libdisk和userspace-rcu这俩个搅屎棍子。libfdiso.so.1在centos7并不提供,我在fedora上找到的。而userspace-rcu这个棍子在centos7默认版本为0.7.16,甲方包要求是0.8.0及以上的。好嘛,你伯把userspace-rcu 0.7.16卸载了,然后发现了一个问题:连同lttng-ust被卸载了!!!真是岂有此理!

好不容易在fedora上找到了userspace-rcu 0.8.6的版本(这种东西感觉玄学,同样的关键字,有时能找到,有时就找不到),安装上后依赖的liburcu.so.2问题解决了,来个新问题:lttng-ust的库找不到了(在卸载userspace-rcu 0.7.16时它作为依赖项被卸载了)。

线索:不同的包依赖了同一个包的不同版本

试错一:下载userspace-rcu源码安装,各种配置环境变量,rpm安装,人家不屌你,继续报错。差点把伯弄疯。

试错二:强行安装已下载的0.8.6的rpm包,报错:XXX conflicts with file from package  XXX。

(看到上述报错,开始也没有引起重视,之前问度娘的时候还查到这个问题,原来是破题点。以此问度娘,本来看着是替换原本0.7.16包的文件的,结果并没有替换,而是把0.8.6的库也拷贝到/usr/lib64,至此问题解决了。)

结案:

rpm -ivh xxx.rpm --replacefiles

遗留问题:

1.rpm安装时为何没识别到手动源码安装的库,放到/usr/lib /usr/lib64 /usr/local/lib下均不行?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值