解释! 为什么您的发行版仍在使用“过时”的 Linux 内核?

检查您的 Linux 内核版本。 您可能会发现您的系统使用的内核版本已经达到 Linux Kernel 网站上列出的生命周期结束 (EOL)。

生命周期结束意味着软件将不再获得错误修复和支持。

这提出了一些有效的问题。 为什么我的 Linux 发行版使用已报废的内核? 这不是安全风险吗? 我的系统安全吗?

让我在这篇文章中解释所有这些问题。

概括

上游内核支持和你的发行版的内核支持是两个不同的东西。

例如,Linux 内核 4.15 可能已经结束生命(根据官方 Linux 内核网站),但 Ubuntu 18.04 LTS 版本将使用它并通过向后移植安全补丁和错误修复将其维护到 2023 年 4 月。

检查 Linux 内核版本并查找其生命周期结束状态

让我们首先检查您系统上的 Linux 内核版本:

uname -r

我在这里使用的是 Ubuntu 18.04,它显示的 Linux 内核版本如下:

[email protected]:~$ uname -r 5.0.0-37-generic

现在,您可以访问 Linux 内核官方网站,查看仍然支持哪些 Linux 内核。 它显示在主页本身上。

您应该看到如下状态:

Linux 内核状态

如果您在内核网站的主页上没有看到某个内核版本,则表示该特定版本已结束生命周期。

如您所见,此处未列出内核 5.0。 这表明不再支持此内核版本。 其实它 2019 年 6 月达到使用寿命.

不幸的是,Linux 内核的生命周期并不遵循固定的模式。 这不像常规内核稳定版本将支持 X 个月,而长期支持 (LTS) 内核将支持 Y 年。

根据需求和要求,可能会有多个具有不同 EOL 的 LTS 内核版本。 您可以在以下位置找到它们及其预计的 EOL 这一页.

现在来了一个大问题。 如果 Linux 内核网站显示它已经到了生命的尽头,为什么 Ubuntu 提供内核 5.0?

您的发行版使用 EOL Linux 内核,但没关系!

你有没有想过为什么 Ubuntu/Debian/Fedora 等被称为Linux发行版? 这是因为他们“分发”了 Linux 内核。

他们对 Linux 内核进行了自己的修改,添加了 GUI 元素(桌面环境、显示服务器等)和软件,并将其提供给用户。

在典型的工作流程中,Linux 发行版会选择一个内核来提供给它的用户。 然后,即使在内核寿命结束后,它也会保留这个内核数月或数年。

那怎么安全呢? 这是因为 发行版通过向后移植其内核的所有重要修复来维护内核.

换句话说,你的 Linux 发行版确保你的 Linux 内核得到了很好的修补,并且有所有的错误修复和重要的新特性向后移植到它。 在“旧的过时的 Linux 内核”之上将会有数以千计的变化。

当 Linux 内核网站说某个内核版本已达到 EOL 时,这意味着核心 Linux 内核维护者将不再更新/修补该内核版本。

但与此同时,Debian/Ubuntu 或其他发行版的开发人员通过将新内核版本(由核心内核团队维护)的相关更改带到您的发行版的旧内核来保持相同的旧版本存活。

底线是,即使您的发行版看起来使用的是过时的 Linux 内核,它实际上也得到了很好的维护,并没有真正过时。

你应该使用最新的稳定内核版本吗?

每 2-3 个月发布一个新的稳定 Linux 内核版本。 这让许多用户想知道谁可以得到这个闪亮的新东西。

坦率地说,除非您有充分的理由,否则您不应该这样做。 您的发行版不会提供给您。 你不能只使用 ‘sudo apt-me-the-latest-stable-kernel’。

现在,手动 安装主线 Linux 内核版本 本身可能是一个挑战。 即使您设法安装它,现在也由您来确保每次修复错误时更新此内核。 当这个新内核达到使用寿命时,您有责任升级到较新的内核版本。 它不会像常规的 Ubuntu 更新那样通过 apt upgrade 来处理。

您还应该记住,如果您切换到主线内核,您的发行版也有可能无法使用的驱动程序和补丁。

作为 格雷格·克罗-哈特曼 说,“您可以使用的最好的内核是其他人支持的内核“。 谁能比你的 Linux 发行版更擅长这项工作!

我希望你对这个话题有更好的理解,下次当你发现你的系统使用的内核版本已经结束时,你不会惊慌失措。

我欢迎您提出问题和建议。 请随时使用评论部分。