出错提示“Multiple devel kernels installed”

问题描述

在操作系统迁移时,出错提示“Multiple devel kernels installed”。

问题原因

kernel-devel是用做内核一般开发的,比如编写内核模块,原则上可以不需要内核的源代码。这个包提供了足以根据内核包构建模块的内核头文件和makefile,开发编写内核模块时,只需引用其中相应的内核头文件。只有在需要开发编译对应版本内核功能程序的开发环境才需要安装kernel-devel,卸载之后不会对当前环境产生影响。dnf在内核升级过程中不支持安装了多个版本kernel-devel包的就地升级,如果系统中安装了多个kernel-devel包,可能会导致操作系统迁移失败。

解决方案

  1. 远程连接ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 删除多余的kernel-devel,系统中只保留一个即可。

    1. 执行以下命令,查找已安装的kernel-devel包。

      rpm -qa | grep kernel-devel

      列出您系统中已安装的所有kernel-devel包的名称和版本号。

      kernel-devel-3.10.0-1160.90.1.el7.x86_64
      kernel-devel-3.10.0-1160.80.1.el7.x86_64
    2. 执行以下命令,删除多余的kernel-devel包,系统中只保留一个即可。

      yum remove kernel-devel-3.10.0-1160.80.1.el7.x86_64
    3. 输入y,并按Enter键,确认删除操作。

  3. 问题排查解决后,运行SMC客户端再试。具体操作,请参见运行SMC客户端