我已经使用 ubuntu 近 2 年了,我总是在网上看到关于如何卸载旧内核版本的指南。甚至在 Ask Ubuntu 上这样一来,问题就很多了。
我的问题是:我必须这样做吗?保留这些旧版本是否存在问题或危险?有什么好处吗?
编辑:
只需两点来澄清这个问题:
答案1
您不必留下旧内核,也不必删除它们。
旧内核只会占用硬盘空间。就是这样。您可以安装一个或两个旧内核,以防万一您想用其中一个内核启动。
旧内核不会以任何方式影响工作系统。
所以保留旧内核是 100% 安全的如果这是问题的话。除非您特意使用其中一个启动,否则不会使用它们。
答案2
保留所有旧内核的唯一问题是空间。每个内核映像以及标头大约占用 300 MB。
最终,这会填满分区并使安全更新变得无法进行。
您总是希望保留至少一个旧内核,以便在必要时可以进行回退。
答案3
如果您有正常的 Ubuntu 设置,并且经常运行sudo apt-get autoremove
,则apt-get
建议删除旧内核。您只需回答“是”!负责删除旧内核的脚本始终确保您已最后一个如果最新内核不适合您,可以使用后备内核。
我上面提到的脚本可以在这里找到:/etc/kernel/postinst.d/apt-auto-removal
。引用自那里:
# 作者:Steve Langasek # # 将以下内核包标记为不自动删除: #-当前启动的版本 #——我们被要求的内核版本 # - 最新的内核版本(使用从 grub 复制的规则确定 # 用于决定启动哪个内核的包) # - 第二最新的内核版本,如果启动的内核版本是 # 已经是最新版本,并且此脚本针对同一版本调用, # 确保在新安装的 # 此 ABI 上的内核启动失败 # 在一般情况下,这会导致恰好保存两个内核,但它可以 # 导致三个内核被保存。最好是 # 保存过多的内核比保存过少的内核要好。
答案4
是的,如果控制台可访问,并且 grub 菜单允许选择要启动哪个内核(不是编辑选项,只是选择哪个内核),那么非特权用户可以选择旧内核(如果允许,可以通过重新启动计算机、拔掉电源插头并重新启动,或者在启动时恰好在控制台旁),然后继续利用新内核中已修补的本地 root 升级漏洞(随机示例:CVE-2012-0056)。
当安装包含安全更新的新内核时,您应该删除旧内核或确保恶意用户不能选择它们进行启动。