解决 yum安装时报错 Error: Protected multilib versions: 报错

本文介绍了解决在64位系统中使用yum安装libz.so.1时遇到的版本冲突问题的方法。通过添加特定参数绕过保护机制,成功安装所需的32位库。

系统中缺少一个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库文件名又都是相同的,安装时就经常出现上面冲突的问题。

转载于:https://my.oschina.net/lionel45/blog/509476

当你尝试通过`yum`安装Apache服务器(httpd),遇到错误提示"error:unable to find a match",这通常意味着yum无法找到与你提供的URL相匹配的软件包。这可能是由于以下几个原因: 1. **缺少软件源**:yum可能没有配置正确的软件仓库地址。检查/etc/yum.repos.d/目录下的httpd相关的repo文件,确保URL指向的是有效的RPM仓库。 2. **版本不兼容**:提供的URL对应的是不适用于当前系统的版本。确认你指定的httpd版本与系统版本是否兼容。 3. **网络问题**:如果网络连接不稳定或防火墙阻止了访问,yum可能无法下载包。确保网络畅通,并且防火墙规则允许访问相应的仓库。 4. **软件包已存在**:有候,系统可能已经有一个同名的包存在,yum认为不需要再安装新的。你可以试试先卸载`httpd`,然后重新安装解决方案步骤: 1. **检查并更新仓库列表**: ```bash yum makecache fast ``` 2. **修复或添加正确的软件源**: - 打开对应的repo文件编辑,如`/etc/yum.repos.d/httpd.repo` - 确保URL指向正确的镜像仓库 3. **使用全名安装**: ```bash yum install httpd* 或 yum localinstall /path/to/httpd.rpm ``` 这样可以避免因名称冲突找不到匹配的问题。 4. **排查网络问题**: 检查网络设置,或者临关闭防火墙测试是否能解决问题。 5. **手动下载并安装**: 如果上述方法都不奏效,可以从源头下载rpm文件,然后本地安装: ```bash wget https://example.com/path/to/httpd.rpm rpm -ivh httpd.rpm ``` 完成上述步骤后,应该就能解决"unable to find a match"的错误。如有需要,记得运行`yum clean all`清理缓存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值