今天在处理一台服务器环境时,遇到了如下问题
yum install glib2报错如下
在百度上查阅了许多资料,均说在执行命令后面加上:--setopt=protected_multilib=false 进行处理
但是我按照该操作进行了操作之后均会报错
于是参考了外网资料https://cloudpack.media/3439
使用yum check >./yum.log的方式进行check
出现新的报错如下
根据新的报错资料,定位报错问题
查看外网资料,有可能是rpm数据库损坏,于是参考https://cloudlinux.zendesk.com/hc/en-us/articles/115004075294-Fix-rpmdb-Thread-died-in-Berkeley-DB-library
进行了修复
mkdir /var/lib/rpm/backup cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/ rm -f /var/lib/rpm/__db.[0-9][0-9]* rpm --quiet -qa rpm --rebuilddb yum clean all
重新yum install glib2依旧是一样的报错
重新运行yum check > ./yum.log
可以看到check是没有报错的
所以排除了这个可能
重新查找到外网资料https://serverfault.com/questions/597168/solving-multilib-version-problems
给出的同时yum install glib2.x86_64 glib2.i686的方法
成功解决了问题
根据解决问题中途遇到的问题总结
该问题是由于在系统中同时存在glib2.x86_64 glib2.i686的导致
如果无脑直接--setopt=protected_multilib=false有概率造成系统的rpm数据库损坏。
如果无法卸载多余版本,需同时升级多版本库的文件,避免造成文件损坏及系统损坏
参考资料:
https://serverfault.com/questions/597168/solving-multilib-version-problems