解決 yum安裝時報錯 Error: Protected multilib versions: 報錯

系統中缺乏一個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

相關文章
相關標籤/搜索