当使用yum安装软件包时,可能会遇到以下错误提示: Protectedmultilibversions: package-name-[version]-[release] requires [architecture] libname 这是由于启用了Multilib保护机制,导致yum不能安装软件包的原
当使用yum安装软件包时,可能会遇到以下错误提示:
Protectedmultilibversions: <package-name>-[version]-[release] requires [architecture] lib<name>
这是由于启用了Multilib保护机制,导致yum不能安装软件包的原因。为了解决此问题,我们可以采取以下步骤:
Step 1: 确认已启用Multilib Repository
在yum配置文件/etc/yum.conf
中,确认以下配置项未被注释掉:
multilib_policy=all
此外,还需确保已正确配置Multilib Repository,以在安装x86_64软件包时使用i686软件包。
示例1:使用命令行安装qemu-kvm软件包
假设我们想在CentOS 7上安装qemu-kvm软件包,命令如下:
sudo yum install qemu-kvm
但是,运行命令时会得到如下报错:
Protected multilib version: 1:qemu-kvm-tools-1.5.3-141.el7_7.3.x86_64 != 1:qemu-kvm-tools-1.5.3-141.el7_7.2.i686
此时,我们需要检查Multilib Repository配置,并确认multilib_policy=all
配置项未被注释掉。
Step 2: 添加强制选项--setopt=protected_multilib=false
如果上述配置已正确,但仍无法安装软件包,则需要添加强制选项--setopt=protected_multilib=false
。
示例2:使用命令行安装wine软件包
假设我们想在CentOS 7上安装wine软件包,命令如下:
sudo yum install wine
然而,命令运行时我们得到如下报错:
Protected multilib version: wine-1.6.2-3.el7.x86_64 requires libgphoto2.so.6()(64bit)
在这种情况下,我们需要用强制选项运行yum,如下:
sudo yum install wine --setopt=protected_multilib=false
这将禁用Multilib保护机制,允许安装软件包。
总之,以上是解决yum安装报错Protectedmultilibversions问题的详细攻略,您可以根据具体情况选择不同的解决方案。