出现错误:Linux /boot 空间不足,卸载旧kernel内核,一行代码搞定

报错信息

可能是因为我使用了命令yum update(更新所有rpm包),导致的,旧版本的内核依旧存在。

1
2
3
4
5
6
7
8
9
10

Broadcast message from systemd-journald@localhost.localdomain (Thu 2020-12-10 18:19:10 PST):

dracut[1446]: dracut: creation of /boot/initramfs-3.10.0-1160.6.1.el7.x86_64kdump.img failed


Message from syslogd@localhost at Dec 10 18:19:10 ...
dracut:dracut: creation of /boot/initramfs-3.10.0-1160.6.1.el7.x86_64kdump.img failed

# 上面报错,在 /boot 下面创建文件 xxx.img 失败,/boot 空间不足

解决方案

卸载旧的 Linux CentOS kernel 内核

  • 一行代码搞定
    1
    rpm -e $(rpm -qa | grep kernel | grep -v "$(uname -r)\|abrt-addon-kerneloops")

问题分析流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
------------------------df -h /boot #===> 查看 /boot 挂载情况,已用 97%,Oh shit~!
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 297M 286M 12M 97% /boot
------------------------uname -r #===> 查看当前内核版本
3.10.0-1160.6.1.el7.x86_64
------------------------rpm -qa | grep kernel #===> 列出你安装的所有 kernel 版本
kernel-tools-3.10.0-1160.6.1.el7.x86_64
kernel-headers-3.10.0-1160.6.1.el7.x86_64
kernel-3.10.0-327.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64
kernel-3.10.0-1127.8.2.el7.x86_64
kernel-tools-libs-3.10.0-1160.6.1.el7.x86_64
kernel-3.10.0-1127.el7.x86_64
kernel-3.10.0-1160.6.1.el7.x86_64
kernel-devel-3.10.0-327.el7.x86_64
kernel-devel-3.10.0-1160.6.1.el7.x86_64
kernel-devel-3.10.0-1127.8.2.el7.x86_64
kernel-devel-3.10.0-1127.el7.x86_64
------------------------rpm -qa | grep kernel | grep -v "$(uname -r)\|abrt-addon-kerneloops" #===> 这些旧版本需要被卸载,被下面命令引用
kernel-3.10.0-327.el7.x86_64
kernel-3.10.0-1127.8.2.el7.x86_64
kernel-3.10.0-1127.el7.x86_64
kernel-devel-3.10.0-327.el7.x86_64
kernel-devel-3.10.0-1127.8.2.el7.x86_64
kernel-devel-3.10.0-1127.el7.x86_64
------------------------rpm -e $(rpm -qa | grep kernel | grep -v "$(uname -r)\|abrt-addon-kerneloops") #===> 将上面那些卸载完成
------------------------df -h /boot #===> 已用 97% -> 47% 搞定~!!!
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 297M 140M 158M 47% /boot

多说一句:/boot 下面安装的是一些开机需要的程序,如果空间占用过高就会出问题:不能正常使用系统,无法开机。。