在centos7 中执行 yum update时系统报错:

centos7虚拟机更新系统库出现:

错误:软件包:glibc-headers-2.17-222.el7.x86_64 (base)
          需要:kernel-headers
错误:软件包:glibc-headers-2.17-222.el7.x86_64 (base)
          需要:kernel-headers >= 2.2.1

错误:软件包:kernel-3.10.0-1062.1.2.el7.x86_64 (updates)
          需要:linux-firmware >= 20190429-72
          正在删除: linux-firmware-20160830-49.git7534e19.el7.noarch (@anaconda)
              linux-firmware = 20160830-49.git7534e19.el7
          更新,由: linux-firmware-20180911-69.git85c5d90.el7.noarch (base)
              linux-firmware = 20180911-69.git85c5d90.el7
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

这种情况是因为,系统中安装了同一个rpm不同版本造成的版本升级依赖的冲突

 原因:升级时,由于某些原因版本没有被及时删除造成系统同时存在多个rpm版本,造成其它rpm依赖的版本出现多个版本的冲突

解决办法:删除多余的版本就解决问题啦

第一步,查看已安装的rpm版本

执行命令: yum list installed  

列出已安装rpm的清单

找出同一个rpm安装的不同版本,如下图在centos7 中执行 yum update时系统报错:_第1张图片

第二步:以上图为例,kernel.x86_64的安装包同时存在多个版本,一般保留最新版本就行,其它版本建议卸载

执行命令: rpm -e kernel.x86_64  ,列出所有已安装的rpm版本,如下图

错误:"kernel.x86_64" 指定多个软件包:
  kernel-3.10.0-1062.9.1.el7.x86_64
  kernel-3.10.0-1062.12.1.el7.x86_64
  kernel-3.10.0-1062.18.1.el7.x86_64
  kernel-3.10.0-1127.el7.x86_64

如果存在多个版本,会列出所有已安装的版本,这时候选择卸载不需要的版本rpm就可以了

注意:一般是卸载旧版本安装包,保留最新版本安装包

第三步:卸载多余旧版本安装包

rpm -e kernel-3.10.0-1062.9.1.el7.x86_64

rpm -e kernel-3.10.0-1062.12.1.el7.x86_64

rpm -e kernel-3.10.0-1062.18.1.el7.x86_64

冲突问题解决.

你可能感兴趣的:(linux)