CentOS 7安装openssl-devel遇initscripts与redhat-release-server冲突求助
解决CentOS 7安装openssl-devel时initscripts与redhat-release-server冲突的问题
我之前在CentOS 7上安装openssl-devel时碰到过完全一样的冲突错误,当时折腾了好一会儿才搞定,给你分享几个可行的解决方案:
优先更新冲突的基础包
这个冲突大概率是initscripts和redhat-release-server的版本不兼容导致的,先把这两个包更新到最新版本,再尝试安装目标包:yum update initscripts redhat-release-server -y yum install openssl-devel -y多数情况下,更新完这两个依赖包后,冲突就会自动消失。
用--skip-broken参数跳过冲突依赖
如果更新后还是报错,可以让yum跳过有问题的依赖项,强制安装openssl-devel:yum install openssl-devel --skip-broken -y注意:这个方法可能会跳过一些非核心依赖,后续如果出现功能异常,需要再手动补充安装缺失的组件。
检查并禁用冲突的yum源
有时候系统里混装了CentOS和RHEL的yum源,或者第三方源导致依赖链混乱。你可以检查/etc/yum.repos.d/目录下的repo文件,找出非CentOS 7官方的源,临时禁用后再尝试安装:yum install openssl-devel --disablerepo=问题源名称 -y比如如果是某个第三方repo引发的冲突,就把该repo的名称填进去即可。
手动下载rpm包安装(万不得已时使用)
如果上面的方法都失效,可以去CentOS官方镜像站下载对应版本的openssl-develrpm包,用rpm命令安装,必要时添加--force参数强制覆盖冲突文件:rpm -ivh openssl-devel-xxx.el7.x86_64.rpm --force注意:
--force会强制覆盖现有文件,可能带来未知问题,只有其他方法都不行时再考虑使用。
内容的提问来源于stack exchange,提问作者Nidhin




