Kernel

更换Kernel

当boot空间不足时,我们不得不删除多余的备用linux核。

删除多余kernel

确认当前内核

1
uname -r

我的结果为

1
6.12.57+deb13-amd64

列出所有已安装的内核包

1
dpkg --list | grep linux-image

我的结果为

1
2
3
ii  linux-image-6.12.48+deb13-amd64                     6.12.48-1                            amd64        Linux 6.12 for 64-bit PCs (signed)
ii linux-image-6.12.57+deb13-amd64 6.12.57-1 amd64 Linux 6.12 for 64-bit PCs (signed)
ii linux-image-amd64 6.12.57-1 amd64 Linux for 64-bit PCs (meta-package)

这个时候我就要删除6.12.48

1
2
3
sudo dpkg --purge linux-headers-6.12.48+deb13-amd64 
sudo dpkg --purge linux-image-6.12.48+deb13-amd64
sudo dpkg --purge linux-headers-6.12.48+deb13-common

清理残留

1
sudo apt autoremove --purge

检查/boot空间

1
df -h /boot

换核

直接update+upgrade两件套

1
2
sudo apt update
sudo apt upgrade

下好了新的内核后,记得更新gtub

1
sudo update-grub2

补充

关于内核删除的顺序,或许应该先删除headers,但是为什么之前我直接删除image时能够正常运行?

查阅资料后得到一个不确定的答案:只有当 linux-headers-旧版本 不再依赖 linux-image-旧版本 时,才能直接删除 image; 否则,必须先删 headers。

而之前能够直接删除image可能有两种情形:

  1. 时根本没装对应版本的 headers
  2. 之前更换内核后通过autoremove已经删除了废弃headers