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

2021-02-20 12:36:58 +08:00
raysonx  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 修复。

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

11053 次点击
所在节点   Linux  Linux
103 条回复
markgor
markgor
2021-02-20 12:47:49 +08:00
RHEL 竞争对手是 ubuntu 吗?
RHEL 多年前公司有一套,现在基本满是灰。
后来转了 CENTOS,实话说 CENTOS 和 RHEL YUM 源的版本都非常老旧,更新特别慢(当时听说是为了稳定...)
具体关系我也不清楚,只记得当时主管和我说,rhel 是红帽商用版本,但授权过期了其实和 centos 差不多,没服务了。
CENTOS 是 rhel 的社区版,rhel 有任何新东西都会丢去 centos 测试,看反馈。
Mountain
Mountain
2021-02-20 12:55:55 +08:00
我至今记得小时候去新华书店买游戏都能看到一盒红帽 Linux 放在一个很显眼的地方从来没有人动过
raysonx
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
vibbow
2021-02-20 12:59:07 +08:00
好像没啥误解把?主要槽点就两个呀

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

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

respect
Kobayashi
Kobayashi
2021-02-20 13:26:02 +08:00
不担心个毛。原来 CentOS 是 RHEL 下游,现在变成了它的上游帮它测试。这能一样吗?
raysonx
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
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