关于 CentOS 8 转向 CentOS 8 Stream 这个新闻,据我所知是个乌龙,用 CentOS 作生产环境的用户其实不必担心

2021-02-20 12:36:58 +08:00
 raysonx

首先声明本人为红帽员工,但不是做 RHEL/CentOS 的,利益无关,本文仅代表个人看法,不代表公司观点。

当时“CentOS 8 将于 2021 年低结束支持并转向 CentOS 8 Stream,而 CentOS 8 Stream 是小白鼠版 RHEL”的消息同样在公司内部引起了很大的震动。红帽是个很大的公司,非相关团队的同事和你们一样都是在网上了解到的消息,一样对此表示震惊、失望。但就后来和相关同事、高管讨论得知,这本来是一个对社区和公司双赢的好事,却由于公司公关失败并被媒体添油加醋煽风点火,导致 CentOS 用户叛离,并对 RHEL 系发行版的声誉造成了十分恶劣的影响。

据我在公司内部了解到,红帽的本意是将 RHEL 的开发流程“开源”,并加快 CentOS 的 bug 修复速度。在 CentOS 8 Stream 出现之前,现状是这样的:

  1. RHEL 的源代码是公开的,但是开发测试流程都是在内部完成且不公开,公司外部人士是无法投入 RHEL 开发或测试的。虽然 Fedora 是社区驱动的,但 Fedora 作为 RHEL 的开发版本,相关内容进入 RHEL 的速度十分缓慢。
  2. 一个 bug 在 RHEL 被修复后,需要 RHEL 的测试人员进行测试,测试通过后对 RHEL 推送更新。而 CentOS 团队作为另一个团队,需要等待新版本进入 RHEL 以后,重新 build,再走 CentOS 的更新流程。这导致 CentOS 中 bug 的修复速度比 RHEL 慢几天至几个月。

而转向 CentOS Stream 之后,变成这样:

  1. 源代码及开发流程向社区公开,RHEL 的开发及测试人员将直接在 CentOS 进行开发测试,公司以外的人士也可以参与。
  2. 向 CentOS Stream 推送的更新是通过了 RHEL 测试人员测试后的版本,从开发流程上讲,CentOS Stream 的质量就是以前 RHEL 的质量,而以后的 RHEL 将变成 CentOS 的下游,将更加保守稳定。所以 CentOS Stream 并不是小白鼠版本。
  3. 多数 bug (除个别未公开的安全漏洞外)的修复将在第一时间推送到 CentOS,CentOS 将比 RHEL 更快地获得 bug 修复。

总而言之,这件事情让我感觉到红帽是好心办了一件坏事。作为一家软件公司,缺乏高水平的公关,被媒体和竞争对手往死里黑。

10833 次点击
所在节点    Linux
103 条回复
markgor
2021-02-20 12:47:49 +08:00
RHEL 竞争对手是 ubuntu 吗?
RHEL 多年前公司有一套,现在基本满是灰。
后来转了 CENTOS,实话说 CENTOS 和 RHEL YUM 源的版本都非常老旧,更新特别慢(当时听说是为了稳定...)
具体关系我也不清楚,只记得当时主管和我说,rhel 是红帽商用版本,但授权过期了其实和 centos 差不多,没服务了。
CENTOS 是 rhel 的社区版,rhel 有任何新东西都会丢去 centos 测试,看反馈。
Mountain
2021-02-20 12:55:55 +08:00
我至今记得小时候去新华书店买游戏都能看到一盒红帽 Linux 放在一个很显眼的地方从来没有人动过
raysonx
2021-02-20 12:57:04 +08:00
@markgor
> 实话说 CENTOS 和 RHEL YUM 源的版本都非常老旧,更新特别慢
RHEL 作为企业版追求稳定第一,是很难上新版本的包的(企业软件经常会依赖旧版本包)。通常情况下在某个 RHEL 的主版本(比如 RHEL 7.0 )发布后,大多数软件的版本就定死了,之后只会收到 bug 和安全更新,很少会收到功能更新。为了解决你说的问题,RHEL8 引入了 AppStream,比如对于 Python 而言会针对 Python 3.7 3.8 3.9 每个主要版本提供一个 AppStream,用户可以选择需要的版本,并在不升级主要版本的前提下一直获得 bug 和安全更新。

RHEL 的授权过期后就无法收到包更新了,且不再有技术支持,而 CentOS 的更新是社区负责的,需要自己切源。
vibbow
2021-02-20 12:59:07 +08:00
好像没啥误解把?主要槽点就两个呀

1 是 CentOS 8 生命周期缩短
2 是 CentOS 变成滚动更新

这两个变动导致 CentOS 不再适合在企业内稳定部署使用了。
wangkun025
2021-02-20 13:04:00 +08:00
调整后,centos 和 fedora 的区别在哪里?
感觉慢慢的 centos 和 Fedora 可以合并了。
benjix
2021-02-20 13:12:00 +08:00
@wangkun025 #5 同问
liprais
2021-02-20 13:18:35 +08:00
懂了
redhat 不想自己测试了准备甩给社区
whee1
2021-02-20 13:21:34 +08:00
主要是因为下游变上游吧。
但听 lz 一说,rhel 的人分两拨,一拨开发 centos,一拨继续维护 rhel,好像看起来也还行。
ETiV
2021-02-20 13:24:55 +08:00
LZ 把英文大小写拼得很对,看着太赏心悦目了

respect
Kobayashi
2021-02-20 13:26:02 +08:00
不担心个毛。原来 CentOS 是 RHEL 下游,现在变成了它的上游帮它测试。这能一样吗?
raysonx
2021-02-20 13:28:43 +08:00
@vibbow 这里的 CentOS 8 生命周期结束指的是原先的 CentOS 8 不再维护,原因是改变开发模式切换到 Stream 。Stream 一样也是 CentOS 8,由于开发模式转变导致不得不开新分支。我觉得需要明确的是 CentOS 8 Stream 的更新并不是测试版本,而是由原 RHEL 开发测试人员维护的稳定版本,理论上稳定性等同于之前的 RHEL 。

Stream 虽名为滚动更新,但其实和普通的滚动发行版不一样,只是不再区分 8.1 8.2 8.3 这些子版本而已。具体为什么不再区分子版本我没去了解,但能够确定的是进入 Stream 的内容都是要进入 RHEL 的,并不是那种一更新就容易挂的那种滚动版。RHEL 的主版本不变的情况下,ABI 是稳定的,个别场景下如果真的需要卡在某个子版本不升级,说法是后续会有解决方案。

不知道我这么解释明确与否。
fiveelementgid
2021-02-20 13:28:43 +08:00
建议先把滚动测试说明白
下游变上游
不是小白鼠是啥?
raysonx
2021-02-20 13:33:09 +08:00
@wangkun025
@benjix
Fedora 才是真正的 RHEL 测试版,各种软件包新功能都是最新的。和 RHEL 的区别主要在于:
1. 支持周期很短(通常只有不到 2 年)
2. 不保证 ABI 的稳定,也就是升级某软件包后可能会破坏兼容性。
3. 进入 Fedora 的内容不见得最终会进入 RHEL 。
swulling
2021-02-20 13:34:38 +08:00
感觉你可能对使用 CentOS 的公司或者组织的动机有所误解。

选择基于社区的免费发行版的思考不外乎几点:

1. 发行版的 Bug 特别是安全问题修复速度
2. 发行版的社区强大,有问题可以依靠社区解决
3. 发行版有很好的商业版本,碰到的问题商业版本都有,能够蹭解决方案
4. 发行版功能稳定,有非常良好的测试

CentOS 如楼主所说,存在 1 上的问题,但是如果要 Bug 修复快,为什么这些组织不用 Ubuntu 或者 Fedora,何必守在 CentOS 上呢,主要是看中了 2-4 。

原先 CentOS 是 RHEL 的下游,也就意味着 CentOS 有的问题 RHEL 也有,解决方案可能已经有了。而且 RHEL 商业用户相当于小白鼠,给 CentOS 的人来做测试,

现在 CentOS 是 RHEL 的上游,那就意味着 CentOS 有的问题 RHEL 没有,需要等待社区解决;然后虽然 CentOS 的软件包依然会经过 RHEL 的测试人员测试,但是其相当于 CentOS 的人做小白鼠,给 RHEL 商业用户做测试。

本质上就是原先 CentOS 的地位甚至高于 RHEL 的地位,虽然获取更新慢了,但是软件包都是经过 RHEL 的商业用户们先在生产环境测试过的,现在反过来,自然很多人不爽。

最后一句,在考虑稳定性的公司上是不可能使用滚动发行版的,必须有大版本锁定机制才行,否则会出大乱子。
cev2
2021-02-20 13:34:42 +08:00
明白了,可是已经晚了。
我有什么理由不选择 Oracle Linux 呢?甲骨文官方提供了 CentOS 一键切换 Oracle Linux 的脚本 [https://linux.oracle.com/switch/centos/] ,还是原来 CentOS 的配方,还是原来 CentOS 的味道,无痛切换。
raysonx
2021-02-20 13:38:05 +08:00
@liprais
@whee1
@Kobayashi
分歧就出在这。让 RHEL 的开发测试人员去开发测试 CentOS Stream,这个 Stream 版等同于之前 RHEL 最新版的质量,并不是所谓的小白鼠。使用最新的 CentOS Stream 就和以前使用最新的 RHEL 是差不多的,而且社区用户也可以来反馈 bug 贡献代码,一举双得,但外界普遍非要认为这是做小白鼠。
swulling
2021-02-20 13:38:56 +08:00
再举一个例子,RHEL 有编写的非常好(可以说是最好的之一)的用户手册,原先 CentOS 内部培训的时候,直接拿 RHEL 的手册即可,非常的详尽清楚。CentOS 自己的文档只有一个安装手册。

现在 CentOS 在 RHEL 之前,那部分功能可能就和 RHEL 不同,这事就麻烦大了。
swulling
2021-02-20 13:40:55 +08:00
@raysonx
> Stream 虽名为滚动更新,但其实和普通的滚动发行版不一样,只是不再区分 8.1 8.2 8.3 这些子版本而已

问下以后 RHEL 出 9 后,CentOS Stream 是搞一个新的 CentOS Stream 9,还是继续滚动?还是说 RHEL 以后也滚动?
EPr2hh6LADQWqRVH
2021-02-20 13:41:03 +08:00
明白了,是名字起错了,应该叫 RHEL-CE
swulling
2021-02-20 13:45:27 +08:00
另外在官网的博客文章中明确建议不要在生产环境使用 CentOS Stream,并自称为 develop branch

> If you are using CentOS Linux 8 in a production environment, and are concerned that CentOS Stream will not meet your needs, we encourage you to contact Red Hat about options.

也就是 Redhat 对 CentOS Stream 的定位就是一个用于开发测试环境的发行版,不能用在生产环境。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/754559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX