为什么 Ubuntu 会保留旧的 vmlinuz 文件?删除它们安全吗?

为什么 Ubuntu 会保留旧的 vmlinuz 文件?删除它们安全吗?

因此,我对 rEFInd 启动时的多个启动选项深感恼火(我的 Mac 上运行着大约 6 个操作系统,还有一些在 USB 上运行),我心想:“他们为什么要为一个操作系统保留多个启动选项?假设它经过了适当的测试,那么直接使用新的不是更容易吗?毕竟,他们确实测试了这些东西,所以,如果只是保留启动选项,为什么要保留旧的呢?我可以摆脱它们来缓解我的强迫症吗?

答案1

我通常建议为每个 Linux 发行版保留至少两个内核。在安装新版本时尤其如此;偶尔会出现新的错误,或者发生文件系统错误,导致新内核无法工作。在这种情况下,保留一个旧内核作为备份可以大大简化恢复过程。

也就是说,您可以通过执行以下操作来限制 Ubuntu 系统上的内核数量:

sudo apt-get autoremove

此命令将删除那些由您后来删除的软件包自动拉入的软件包。它还将删除除两三个内核之外的所有内核,至少在大多数情况下是这样。(有时它似乎会留下更多内核,但我不确定为什么。)可以使用 删除更多内核dpkg,但这有点繁琐。您只需使用rm删除 中的内核/boot,但这会造成软件包/文件系统不一致,通常最好避免这种情况。(此类问题不会导致系统崩溃,但它们可能会在将来添加或删除软件包时引起警告。)

顺便说一句,我是 rEFInd 的开发人员,我一直想添加的一个功能是将单个目录中的多个内核“折叠”到 rEFInd 菜单上的一个图标中。这样的功能无法解决安装过多内核的问题(如果您有单独的分区,这可能会成为问题/boot),但它将有助于整理 rEFInd 菜单。我希望很快添加此功能,但我无法保证具体何时会实现。

答案2

旧帖,澄清:

autoremove实际上,删除任何内核都不符合我迄今为止在 Ubuntu 上的经验(目前是 20.04.x)。

我必须手动清除列出的项目,
$ dpkg --list | grep -E ' linux-[a-z]+-[0-9.-]+'
同时排除与...版本匹配的项目
$ uname -r
,然后$ sudo apt-get purge ...对它们使用。

依赖包可能会被自动移除尽管。

相关内容