我想知道为什么 Ubuntu 不会自动删除旧内核。
当然没有什么是完美的,事情可能会出错,所以如果更新不起作用,拥有一个备份内核可能会很棒。但是,只保留最新内核和最新内核之前的内核并删除所有旧内核也足够了。
Ubuntu 不会自动执行此操作有什么原因吗?
今天,我注意到该目录/lib/modules仍然包含以前安装的内核中的所有目录,因此:
$ ls /lib/modules
5.4.0-29-generic 5.4.0-31-generic 5.4.0-33-generic 5.4.0-37-generic 5.4.0-39-generic
5.4.0-40-generic 5.4.0-42-generic 5.4.0-45-generic 5.4.0-47-generic 5.4.0-48-generic
... etc.
Run Code Online (Sandbox Code Playgroud)
在每个目录中,都留下以下文件(Intel/AMD系统):
$ ls -l
-rw-r--r-- 1 root 143K 2022-04-28 18:36 modules.alias
-rw-r--r-- 1 root 154K 2022-04-28 18:36 modules.alias.bin
-rw-r--r-- 1 root 8.0K 2022-04-08 10:44 modules.builtin
-rw-r--r-- 1 root 25K 2022-04-28 18:36 modules.builtin.alias.bin
-rw-r--r-- 1 root 11K 2022-04-28 18:36 modules.builtin.bin
-rw-r--r-- 1 root 63K 2022-04-08 10:44 modules.builtin.modinfo
-rw-r--r-- 1 root 85K 2022-04-28 18:36 modules.dep
-rw-r--r-- 1 root 123K 2022-04-28 18:36 modules.dep.bin
-rw-r--r-- 1 …Run Code Online (Sandbox Code Playgroud) 我在 root 上运行带有 ZFS 的 Ubuntu,而且我的bpool似乎几乎已满。
输出zpool list bpool:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
bpool 1.88G 1.69G 191M - - 60% 90% 1.00x ONLINE -
Run Code Online (Sandbox Code Playgroud)
输出df -h /boot:
Filesystem Size Used Avail Use% Mounted on
bpool/BOOT/ubuntu_s2c09x 367M 303M 64M 83% /boot
Run Code Online (Sandbox Code Playgroud)
这会导致完成内核更新安装时出现问题,例如运行sudo apt upgrade:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to …Run Code Online (Sandbox Code Playgroud) 您可以在终端中使用简单的 autoremove 命令删除旧内核:
sudo apt-get autoremove --purge
由于某种原因,这对我不起作用,并且内核正在堆积:
apt list --installed | rg linux-image
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-image-5.4.0-31-generic/focal-updates,focal-security,now 5.4.0-31.35 amd64 [installed]
linux-image-5.4.0-40-generic/focal-updates,focal-security,now 5.4.0-40.44 amd64 [installed]
linux-image-5.4.0-42-generic/focal-updates,focal-security,now 5.4.0-42.46 amd64 [installed]
linux-image-5.4.0-45-generic/focal-updates,focal-security,now 5.4.0-45.49 amd64 [installed]
linux-image-5.4.0-47-generic/focal-updates,focal-security,now 5.4.0-47.51 amd64 [installed]
linux-image-5.4.0-48-generic/focal-updates,focal-security,now 5.4.0-48.52 amd64 [installed]
linux-image-5.4.0-52-generic/focal-updates,focal-security,now 5.4.0-52.57 amd64 [installed]
linux-image-5.4.0-54-generic/focal-updates,now 5.4.0-54.60 amd64 [installed]
linux-image-5.4.0-56-generic/now 5.4.0-56.62 amd64 [installed,local]
linux-image-5.4.0-58-generic/focal-updates,focal-security,now 5.4.0-58.64 amd64 [installed]
linux-image-5.4.0-60-generic/focal-updates,focal-security,now 5.4.0-60.67 amd64 [installed]
linux-image-5.4.0-62-generic/focal-updates,focal-security,now 5.4.0-62.70 amd64 [installed]
linux-image-5.4.0-64-generic/focal-updates,now …Run Code Online (Sandbox Code Playgroud)