CentOS 和 Red Hat Enterprise Linux 目前有何区别?

CentOS 和 Red Hat Enterprise Linux 目前有何区别?

CentOS 和 Red Hat Enterprise Linux(截至 2017 年)之间当前有何区别?

当您开发针对 Red Hat 的软件时,用户和支持人员不可避免地会问为什么他们不能直接使用 CentOS,因为“CentOS 与 Red Hat 相同”。

我经常发现自己不得不解释使用其中一种或另一种的成本与收益,因为“免费”并不意味着某处没有成本。有人必须支付存在显着差异的风险的成本。

我们可以指出哪些实际差异来解释这种差异?

它们在作为开发平台的目标方面有何不同?

CentOS 和 Red Hat 有何不同的问题由来已久。不过,我认为2017年有些事情可能和以前有所不同。

我已将自己的答案添加为社区维基。如果您可以改进,请参与。

答案1

您支持的每个平台都会产生相关成本。通常您需要:

  • 构建环境
  • 单独的测试环境(例如没有安装开发工具)
  • 额外的时间来构建和测试新版本
  • 支持每个平台的额外资源

CentOS 的目标是与 Red Hat 进行二进制兼容,从而减少对单独构建环境的需求。但是,如果您无法访问 CentOS 环境(至少无法进行测试),您可能会被细微的差异所困扰。理论上,您可能无法在 Red Hat 安装上重现用户安装 CentOS 时出现的问题。

由于存储库组织不同,您可能还必须为依赖项提供不同的安装说明。

存储库组织

从 RHEL 7 开始,Red Hat 已将内容拆分为更多存储库:

  • 原子主机
  • 服务器
  • 工作站
  • 上述的可选变体
  • 上述内容的补充回购
  • 上述内容的 beta 存储库

事实上我数了一下不少于85个(如下):

>yum repolist all | grep rhel | wc -l
85

CentOS 7 似乎不是这种情况(如果我错了,请纠正我)

此外,一个 RHEL 存储库中可用的内容与其他一些存储库不兼容。例如,atomichost 中的 docker 在我的工作站安装上运行不佳。

爪哇

这个帖子 from 2016 提到(Oracle)Java 不能直接安装在 CentOS 上:

Red Hat 与 Oracle 签订了合同,重新分发 Oracle Java SE 二进制文件(包括 JDK 和 JRE),并作为 RHEL 订阅的一部分支持这些产品。 CentOS 不附带 Oracle Java SE;希望使用 Oracle Java SE 的 CentOS 用户必须直接从 Oracle 下载并安装它。

安全补丁

CentOS 上的安全补丁通常应用得非常快

  1. Red Hat 发布修复程序后,CentOS 需要多长时间发布修复程序?

我们的目标是在发布后 72 小时内在镜像上提供单独的 RPM 软件包,通常它们会在 24 小时内提供。有时包裹会因各种原因而延迟。在极少数情况下,可能会构建软件包并将其推送到镜像,但无法通过 yum 获取。 (这是因为 yum-arch 尚未在主镜像上运行。当上游软件包在发布后不久发现问题,并且发布软件包会破坏其功能时,可能会发生这种情况。)

红帽为旧版本提供延长生命周期支持(需额外付费)。这意味着您可以获得 RHEL 5 关键 CVE 的补丁,而 CentOS 可以简单地将 CentOS 5 注销为不再受支持。值得注意的是,自 RHEL 5(和 CentOS 5)生命周期结束以来,有几个影响 RHEL 5 的关键 CVE。

也可以看看CentOS 和 RHEL 完全一样吗?

码头工人

随着 Docker 的兴起,我们新的差异

Red Hat Enterprise Linux 不支持 Docker 社区版 (Docker CE)。

您必须购买 Docker EE 许可证。您可以使用 CentOS 存储库在 RHEL 上安装 Docker-CE。看在 RHEL7 上安装 Docker CE 17.03

但这显然是不受支持的配置。

这是一个奇怪的决定,因为该决定是由 Docker 团队而不是红帽做出的。那么如果 Red Hat 愿意的话,他们可能会决定支持 Docker CE 吗?

它们之间的本质区别还是一样的:

如果您需要商业支持和认证,您需要付费(使用 Red Hat),如果您不想要,您可以使用 CentOS。

方向

来自CentOS 常见问题解答

红帽和 CentOS 项目正在构建一个新的 CentOS,能够推动下一代开源项目的开发和采用。

这是公司的宣传语,但它可以被视为意味着红帽希望 RHEL 以某种有趣但未具体说明的方式与 CentOS 分离开来。


更新日期:2020 年 12 月

CentOS 的方向现在更加清晰:

  • CentOS 8 将提前结束生命周期(2021 年)。
  • CentOS 7 支持将持续到 2024 年。
  • RedHat(现为 IBM 所有)将不再提供与 RHEL 竞争的 CentOS。
  • 他们现在有“CentOS Stream”,它是 RedHat 的上游,有点像测试版。

最好的总结大概就是——https://hackaday.com/2020/12/09/centos-is-dead-long-live-centos/

也可以看看:

敏锐的人可能会注意到 Fedora 是 RedHat 的上游版本。那么 CentOS 流适合什么地方呢?解释一下差异林文说:

“如果发行版是木制家具,那么 RHEL 将是一张成品桌子,Stream 将是未上漆且未打磨的桌子,而 Fedora 将是树。”

对分裂的进一步解释和更积极的解释如下:


另一个区别是如何开发工具集已安装

yum install centos-release-scl

如果不进行更改,这在 RHEL 上显然没有意义。实际上要痛苦得多。您必须提出特殊请求并附上特殊的附加订阅。看https://stackoverflow.com/a/72002572/1569204 这是不收费的(但是很不方便)。

相关内容