首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移除旧核的逻辑

移除旧核的逻辑
EN

Ask Ubuntu用户
提问于 2019-01-31 10:44:24
回答 1查看 1.2K关注 0票数 2

从18.04开始,Ubuntu在升级到新内核时删除了旧内核。据我所知,这个过程是安装过程的一部分。我目前在我的机器上安装了3个不同的内核版本。

在内核更新似乎破坏了我的系统,要求我手动启动一个旧内核之后,我现在想知道Ubuntu使用什么逻辑来决定保留哪些内核和删除哪些内核。具体来说,我想知道工作内核最终是否会从内核中旋转以保持运行。

  • 我说得对吗?所有内核清理任务都是在安装时执行的,在重新启动系统之前没有任何延迟?(与后一种情况一样,这些延迟任务理论上可以删除除新安装的内核之外的任何内核。)
  • Ubuntu如何确定要删除哪些内核?它是简单地保留了n个最近的内核,还是逻辑比它更复杂?
  • 内核在更新时是否保证在下一次更新之前一直运行?
  • Ubuntu是否有任何跟踪机制来检测哪些内核已经干净地引导,并确保它们不是全部被删除?
EN

回答 1

Ask Ubuntu用户

发布于 2019-01-31 14:15:19

内核安装相关的任务由/etc/内核中的脚本处理,您可以自己直接浏览逻辑。

Ubuntu如何确定要删除哪些内核?它是简单地保留了n个最近的内核,还是逻辑比它更复杂?内核在更新时是否保证在下一次更新之前一直运行?

内核由脚本/etc/kernel/postinst.d/apt-auto-removal选择。该脚本顶部的评论特别有启发性:

代码语言:javascript
复制
# Mark as not-for-autoremoval those kernel packages that are:
#  - the currently booted version
#  - the kernel version we've been called for
#  - the latest kernel version (as determined by debian version number)
#  - the second-latest kernel version
#
# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.

我说得对吗?所有内核清理任务都是在安装时执行的,在重新启动系统之前没有任何延迟?(与后一种情况一样,这些延迟任务理论上可以删除除新安装的内核之外的任何内核。)

不完全是。较老的内核(S)可以立即由/etc/kernel/postinst.d/apt-auto-removal自动删除。在下一次apt运行自动删除之前,旧包实际上不会被删除。在无人值守的系统中,安装升级通常意味着第二天。

Ubuntu是否有任何跟踪机制来检测哪些内核已经干净地引导,并确保它们不是全部被删除?

不知道你所说的“干净地引导”是什么意思。Ubuntu假设当前引导的内核可以工作,并且不会使当前引导的内核符合autoremoval...but (您已经知道了)。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1114359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档