阿里云已确认Alibaba Cloud Linux 3.8版本的镜像在升级内核时会有报错信息出现,本文将描述该问题的影响及解决方案。
问题现象
在Alibaba Cloud Linux 3.8版本的镜像中升级内核版本时,会在安装内核包的同时出现报错信息,但对应的内核包可以正常安装成功,报错信息类似如下图所示。
问题原因
Alibaba Cloud Linux 3.8版本镜像为支持更多规格的机型,对镜像的dracut配置新增了额外的内核模块。因新增的部分内核模块已经被built-in集成到内核vmlinuz文件中,导致后续在安装内核包的过程中,dracut工具因无法找到对应的内核模块而报错。但是该报错不会影响内核软件包的安装、升级等。
影响范围
镜像ID中日期在20230727~20230925范围内且版本为如下所示的Alibaba Cloud Linux 3镜像:
Alibaba Cloud Linux 3.2104 LTS 64位
Alibaba Cloud Linux 3.2104 LTS 64位 快速启动版
Alibaba Cloud Linux 3.2104 LTS 64位 UEFI版
Alibaba Cloud Linux 3.2104 LTS 64位 ARM版
您可以运行cat /etc/image-id
命令,查询镜像ID和镜像版本,回显类似如下信息:
image_name="Alibaba Cloud Linux 3.2104 LTS 64 bit"
image_id="aliyun_3_x64_20G_alibase_20230727.vhd"
release_date="20230728162541"
解决方案
远程登录Alibaba Cloud Linux 3.8版本镜像的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,移除内核中重复的内核模块。
x86架构
sudo sed -i "s/virtio_blk//" /etc/dracut.conf.d/virt-drivers.conf
ARM架构
sudo sed -i "s/xen-blkfront xen-netfront//" /etc/dracut.conf.d/virt-drivers.conf
运行以下命令,重新升级内核版本,确认报错是否解决。
sudo yum install kernel