vlambda博客
学习文章列表

LWN:讨论如何了结CentOS 8!

关注了就能看到更多这么棒的文章哦~

Planning the CentOS 8 endgame

By Jake Edge
July 14, 2021
DeepL assisted translation
https://lwn.net/Articles/862832/

CentOS 8 将在 2021 年底寿终正寝(EOL, end of life),尽管它最开始的计划是一直支持到 2029 年。这个变动是在去年 12 月宣布的,但对于该发行版的一些用户来说(也许是许多用户),这可能仍然是一个意外消息。虽然运行 CentOS 8 的系统将继续运行,但明年初它们将停止获得安全(和其他)更新。CentOS 项目认为 CentOS Stream 是一个可行的替代方案,但用户可能不会同意——怎么可以简单地让 CentOS 8 系统在 2022 年及之后的时间变成一个定时炸弹呢?

Rich Bowen 在 CentOS-devel 邮件列表中发起了一场关于 CentOS 8 EOL 的讨论。他指出,随着日期的临近,会有更多关于 EOL 流程的问题,所以他希望 "确保我们有清晰的文档,并在显眼的地方展示出来,来让大家能有正确的预期"。他概述了将 CentOS 8 归档到 vault.centos.org 的过程,并想知道既然这次的 EOL 事件跟之前很不一样,那么是否应该做出一些改变。

Alex Iribarren 对在 12 月 31 日 "拔掉插头" 的计划表示担忧,并建议 "多给一个月左右的时间就好了,特别是考虑到传统假期"。CentOS 发布经理 Johnny Hughes 说,假期会使切换时间推迟一些,因为人们不会在那几天工作,但无论如何,安全更新都不会在那个时间点之后继续发布了。虽然具体日期还不确定,但他对计划进行了一些详细描述:

[我们的目标,只要 RHEL 8.5 在 2021 年 12 月 31 日之前发布,在我们从镜像服务器中删除 CentOS Linux 8 之前都会跟随 8.5 发布的文件。但不会把 2021 年 12 月 31 日之后发布的 RHEL 源代码的任何更新添加到 CentOS Linux 8。

这个版本至少会放入 vault.centos.org/8.5.xxxx/(其中 xxxx 为日期)这个位置。当然,如果 RHEL 8.5 的 release 发生在 2022 年 1 月 1 日之后的话,我们就不会把它包含在 CentOS Linux 8 中了。

在 2022 年 1 月 1 日之后,CentOS Stream 8 的新增改动将会被编译并进入 CentOS Stream 8,一直维护 CentOS Stream 8 直到 RHEL 8 正式发布 5 年之后(具体的 EOL 是 2024 年 5 月 31 日)。

但是 Carl George 想知道是否可以采用一个更激进的计划。他认为 Stream 实际上是 CentOS 8 的延续,所以也许 "我们应该让 mirrorlist.centos.org 在收到申请 CentOS 8 的 repo 的情况下,仍然使用 8-stream repo,这事实上是将存留下来的 CentOS Linux 8 系统转换为 CentOS Stream 8"。这可以在 EOL 时进行,也可以在一到三个月后进行。他提出的第三个选择是维持现状,也就是不再有安全更新,但他担心有相当多的人不知道 EOL 这件事。

话题讨论中的多个回复者似乎都同意切换到 CentOS Stream 8 是一个正确的方向,至少在技术层面上是这样的,但这种做法有一些明显的缺陷。Bowen 这样说:

虽然我同意你的观点,也就是说这是一次升级,但我预计,如果把人们从 CentOS Linux 8 自动转移到 CentOS Stream 8 ,那么会导致那些一直认为 Stream 是 alpha/beta/testing/buggy/unstable/[选择你最喜欢的抱怨词汇]发行版的人的大量抨击。你知道的,只要他们注意到这件事情就会开始这么抨击。

让用户感到意外的事情很少会有好结果,哪怕这个意外其实整体来说是个好事也一样。

Stephen John Smoogen 认为,将系统自动切换到 CentOS Stream 8 "最终会引出各种法律诉讼和非常非常愤怒的人"。很可能有有一些 CentOS 8 系统是在控制安全相关的关键基础设施的,尽管 CentOS 8 其实是对这种系统来说不是一个特别明智的选择。鉴于此,他认为 George 的这两个迁移方案都不会成功,"不管它说得多美好、做得多美好"。看一下统计数据,就可以看出自从宣布 EOL 变化以来,又新增了很多新的 CentOS 系统。替代品(如 AlmaLinux,Rocky Linux)具体这些数据还差的很远很远,但是:

虽然目前 45 万个 CentOS 8 系统中的许多可能都会能够正常迁移到 CentOS Stream 上运行,但我们不知道这些系统中哪些只是某个广告农场的网络服务器、哪些是控制大坝泄洪或德克萨斯炼油厂的石油管道的。

Fabian Arrotin 将 CentOS 用户分成两类,第一类是关注公告并相应地制定计划,第二类则不做这些事情。对于前者来说,George 的自动切换选项都不会对他们有什么影响,他们可能已经自行安排好了这个切换工作,比如切换到 Stream 或者上面提到的其他兼容发行版中的某一个,也可能完全切换到其他发行版。但是后一类人,他们的系统随着时间的推移会有越来越多的已知漏洞,他们完全应该被强迫进入 CentOS Stream 8,他认为。毕竟有的用户还在运行更老的那些 EOL 版本的 CentOS :

我承认,如果你部署了 CentOS ,那么好的系统管理员都会对发行版中的相关内容进行更新,*但是* 通过查看哪怕是 CentOS 5 的镜像列表请求这种基本的信息,我都可以肯定地告诉你,有些人从来不更新….. (唉)。

Julien Pivotto 说,有两个很好的理由让用户自动切换到 CentOS Stream 8:

提供 stream 作为 8 的延续是最好的做法,这表明我们有信心认为这个 "stream 版本适合大多数 CentOS 的使用场景"。它还有一个附加作用,那就是更好地保护互联网。

[……]我认为,如果我们尽快宣布这个做法,就不会有反噬。

互联网的安全也是 Leif Madsen 的考虑因素。他建议增加一个 "只提供安全更新" 的模式,CentOS 8 系统在报废时将切换到该模式。这是 "一个好的网络用户会做的事",而不是 "让超过 45 万个系统闲置在互联网上,等待被僵尸网络发现并吸收进去去"。

但是,正如 Phil Perry 所指出的那样,一下子将大量的系统切换到 CentOS Stream 8 也会有一些实际问题。"虽然我完全理解采取这种方式的愿望",但自愿切换的那些用户已经创造了很多额外的支持负担,部分原因是他们发现为 CentOS 8 内核创建的 kernel module package 在 CentOS Stream 8 上不再适用了。"如果你在 EOL 时大量切换所有 CentOS 8 用户,那么你就有可能导致巨大的支持工作,而我们根本没有能力管理好这些。"

Josh Boyer 同意:

有太多的类似这种 kernel module 的问题,或者出于内部政策合规的要求,或其他原因导致自动迁移会成为问题。我们应该鼓励和倡导人们切换到 CentOS Stream,并专注于使这方面的工具和文档易于使用和获取,但我们不应该单方面进行这种迁移。

Smoogen 说,事实上,如果一些用户对 CentOS Stream 所提供的服务不感兴趣,那么离开 CentOS 可能会更好。CentOS 是红帽企业 Linux(RHEL)的替代品,但 CentOS Stream 并非如此:

CentOS Stream 是要在消费者和发行版之间建立一种合作关系,在这种关系中,发行版建立的东西会被评估并给予反馈。如果一个消费者希望永远不会出现问题、永远不必提交或者跟踪 bugzilla 上的 issue、甚至不必检查交付的东西是什么,那么 CentOS Stream 就不适合他们。因为,哪怕它看起来并不明显,实际上在 "never" 和 "once for a while" 之间是有一个非常非常巨大的差距的,这可能恰恰是 Stream 上会给人的印象。stream 的消费者和提供者之间需要合作才能把事情做好。如果你没有时间、精力或不想这样做,那么 Stream 就会成为一根持续存在的木刺。在这种情况下,消费者最好选择重新搭建一个系统。

但 George 强烈反对对 CentOS Stream 的这种定位。有多人告诉他说他们换了过来之后从未发现有什么差异。他说,虽然建议用户参与这个过程,但这完全不是必须条件:

CS8 并没有成为他们的一根持续存在的木刺。我并不是说它是完美的,当然是有 regression 的,但修复速度比 CL8(或以前的主要版本)都要快,我强烈地感觉到,大多数用户在 CL8 到期或刚刚到期时转到 CS8 其实会得到最好的服务。

但是 Leon Fauster 说,当他试图将一些系统切换到 CentOS Stream 8 时,他就遇到了问题。来自第三方软件库(如 RPM Fusion)的应用程序停止了工作,因为它们的依赖关系不再能够得到满足。安装比较复杂的那些系统有可能无法成功切换到 CentOS Stream。他所说的“复杂”只是意味着系统 "使用了更多的非 CentOS 标准部件(比如 ISV/专有软件,第三方/自定义软件库,等等)"。

不管强行将系统切换到 CentOS Stream 8 的技术(和互联网安全)方面有什么好处,像 Red Hat 这样的公司都很难会去承担这种风险。尽管这对一些并未留意的用户(也许还有我们互联网上的大多数)来说可能是不幸的。但如果针对 2022 年之后不再安全的 CentOS 8 系统中的任何错误,如果有用户索赔的话,只要指出 EOL 公告来应对,这样是一个更加安全的做法。令人担忧的是,这些系统将会被利用来发送垃圾邮件(甚至干更坏的事情),但其实现在还有很多不断在自动查询安全更新的 CentOS 5 系统,这些更加令人担忧,毕竟它是 2007 年发布的,早在 2017 年就停止获得更新了。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~