我的 centos 8 服务器上的 Linux 内核正在填满 /boot 分区

我的 centos 8 服务器上的 Linux 内核正在填满 /boot 分区

我在 /boot 分区已满的实例中遇到此问题。我想删除我的实例中的旧内核以清理 /boot 分区。但是,当我运行此命令来获取活动内核版本时,我得到了这个。

uname -r 
5.4.17-2136.308.9.el8uek.x86_64

当我使用以下命令列出所有已安装的内核时,我得到了这三个内核。为什么 rpm -qa 内核命令中没有列出 kernel-5.4.17-2136.308.9.el8uek.x86_64?

   rpm -qa kernel
kernel-4.18.0-372.9.1.el8.x86_64
kernel-4.18.0-348.23.1.el8_5.x86_64
kernel-4.18.0-372.13.1.0.1.el8_6.x86_64

答案1

为什么 kernel-5.4.17-2136.308.9.el8uek.x86_64 没有列在 rpm -qa 内核命令中?

因为rpm -qa kernel仅匹配名为 的包kernel,基于el8uek您的内核的 dist 标签牢不可破的企业内核来自 Oracle Linux,来自一个名为kernel-uekso 的包,以列出您需要使用的它rpm -qa "kernel*"

如果您只想删除旧内核,您可以使用 DNF 自动执行此操作,请参见示例这个答案了解详细信息(但如果您只想使用 UEK 内核,您可能只想删除所有“内核”软件包)。

答案2

我在旧的 CentOS 上经常遇到这个问题,这应该仍然有效,尽管它没有回答你关于为什么 rpm 不显示当前内核的问题:

作为终端中的 root 执行以下操作:

package-cleanup --oldkernel --count=2

然后重新启动。此后你的 /boot 将不会满。

您不妨继续执行以下操作:

yum update && yum upgrade && reboot

相关内容