系统中缺乏一个lib库 libz.so.1文件,使用yum安装会自动找到相关的rpm包,以下命令 spa
# 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 ip
分析缘由: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提示。 ci
解决方法:在yum命令的最后加上 --setopt=protected_multilib=false 语句 io
# yum -y install libz.so.1 --setopt=protected_multilib=false 软件
总结:这个参数的解决64位操做系统上安装32位软件包缺乏lib库依赖的时候很是有用,由于64位操做系统默认都会安装64位的lib库到 /lib64目录下,而32位的应用程序须要的lib库在/lib目录下,lib库文件名又都是相同的,安装时就常常出现上面冲突的问题。
file