首页 > 其他 > 详细

解决 yum时 Error: Protected multilib versions报错

时间:2017-01-20 13:20:17      阅读:1233      评论:0      收藏:0      [点我收藏+]

CentOS下一键安装OpenStack时,在进行到 yum update 时提示有几个错误,按照提示 yum update  --skip-broken 后,还有错误提示:Error: Protected multilib versions: :db4-4.7.25-20.el6_8.1.i686 != db4-4.7.25-20.el6_7.x86_64  

提示db4-4.7这个包有冲突,多种尝试后未果后,果断问度娘后,继续

 yum update  --skip-broken  --setopt=protected_multilib=false   解决。

根据分析,一键安装OpenStack这个包应该是32位的,而我的系统是CentOS x64位的,系统的这个包应该也是分32位和64位的。所以OpenStack安装时,会安装32位的DB-4-4.7这个包,但是系统又已经有了这个包的64位版本,名字和目录都是一样的,所以提示错误,停止安装.


CentOS下一键安装OpenStack:https://www.rdoproject.org/install/quickstart/


摘自:https://my.oschina.net/lionel45/blog/509476

系统中缺少一个lib库 libz.so.1文件,使用yum安装会自动找到相关的rpm包,如下命令

# yum -y install libz.so.1

Resolving Dependencies
--> Running transaction check
---> Package zlib.i686 0:1.2.3-29.el6 will be installed
--> Finished Dependency Resolution
Error: Protected multilib versions: zlib-1.2.3-29.el6.i686 != zlib-1.2.3-27.el6.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

分析原因:yum检测出我们需要的libz.so.1文件在zlib-1.2.3-29.el6.i686 和 zlib-1.2.3-27.el6.x86_64两个包中都存在,而64位的系统中已经安装了zlib-1.2.3-27.el6.x86_64的安装包且libz.so.1文件位置在/lib64目录下,所以yum给出Error提示。

解决方法:在yum命令的最后加上 --setopt=protected_multilib=false  语句

# yum -y install libz.so.1 --setopt=protected_multilib=false

总结:这个参数的解决64位操作系统上安装32位软件包缺少lib库依赖的时候非常有用,因为64位操作系统默认都会安装64位的lib库到 /lib64目录下,而32位的应用程序需要的lib库在/lib目录下,lib库文件名又都是相同的,安装时就经常出现上面冲突的问题。


解决 yum时 Error: Protected multilib versions报错

原文:http://752030200.blog.51cto.com/8936921/1893337

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!