Author:rab
目录
前言
CentOS 8 系统 2021 年 12 月 31 日已停止维护服务,CentOS 7 系统将于 2024 年 06 月 30 日停止维护服务。国内 80 ~ 90% 的企业都在使用 CentOS 操作系统作为生产而提供服务(看文章结尾附件
),那你知道为什么这么多企业会选择使用 CentOS 系统吗?其实早期国内一些大牛接触 Linux 是从 Red Hat(也就是我们所说的“红帽系统”
),但是我们都知道“红帽”
是收费的,而且价格不菲,对于几台服务器尚且可接收,但目前大部分企业级服务器规模少则数十台,多则上千/万台,显然在服务器成本这一块确实挺大的,于是就出现了 CentOS 系统,该操作系统是由 Red Hat 依照开放源代码(GPL 开源协议)规定发布的源代码所编译而成的,最关键的是免费开源可商用,且成本较低,自然而然很多企业就面向于 CentOS 操作系统了。
然而,停止维护就意味着 CentOS 7 将不再获得安全补丁、错误修复和新功能更新。接下来,我将并对比几个常见 Linux 发行版特点、维护周期、系统维护等情况,以及如何在明年 CentOS7 停止维护后谁能够更平滑地作为其平替者。
一、Debian 家族
1.1 Debian
1、系统特点
完全自由软件构成的 Linux 发行版,它以其稳定性、安全性和广泛的软件包支持而闻名。Debian 对安全性非常重视,并定期发布安全更新以修复已知漏洞,这有助于确保用户的系统的安全。
2、维护周期
Debian 分为三个主要版本类型:稳定版(Stable)、测试版(Testing)和不稳定版(Unstable)。以下是它们的维护周期:
稳定版(Stable):
- Debian 的稳定版是最为常见和稳定的版本,通常用于生产服务器和稳定性要求较高的环境。
- 稳定版的维护周期非常长,一般持续到下一个稳定版发布。
- 新的稳定版通常每隔一至两年发布一次,但这个周期可能会有所变化。
- 稳定版会持续获得安全更新和重要错误修复,以确保系统的稳定性和安全性。
测试版(Testing):
- 测试版是 Debian 的下一个稳定版的预览版本,它包含了最新的软件包。
- 测试版通常是一个不断更新的分支,它的维护周期没有固定的时间表。
- 一旦测试版的软件包被认为足够稳定,它们会被冻结,然后成为下一个稳定版的一部分。
不稳定版(Unstable):
- 不稳定版是 Debian 开发中的版本,也被称为 “Sid”。
- 不稳定版包含了最新的软件包,但可能不够稳定或未经测试。
- 不稳定版没有固定的维护周期,它一直处于不断开发和更新的状态。
3、系统维护
相较于其他发行版,其配置较复杂,对新手不太友好,而且 Debian 以稳定性为主要目标,因此软件包的更新速度相对较慢,这可能导致无法立即获得最新功能或安全修复。。
1.2 Ubuntu
1、系统特点
Ubuntu 是基于原生 Debian 操作系统的 Linux 发行版,以其优秀的桌面版(Ubuntu Desktop)而闻名,当然稳定性就更不用说了。它是最受欢迎的 Linux 发行版。哎?你不是说国内 80 ~ 90% 的企业都在使用 CentOS 操作系统吗?
为什么 Ubuntu 是最受欢迎的呢,注意,我说的是国内
,放眼全球你会发现,Ubuntu 的“销量”
依然是更好的(看附件对比数据)。
2、维护周期
主要有两种类型的 Ubuntu 发行版:标准版本和长期支持 (LTS) 版本。以下是它们的维护周期:
标准版本(Regular Releases):
- 标准版本通常每 6 个月发布一次。
- 每个标准版本会获得 9 个月的支持,包括安全更新和重要错误修复。
- 过了这个 9 个月的支持周期后,不再提供常规支持,用户需要升级到更新的标准版本或 LTS 版本,以继续获得支持。
长期支持版本(Long-Term Support Releases,LTS):
- LTS 版本通常每两年发布一次。其中,第一个月是开发周期,接下来的 5 年是支持周期。
- LTS 版本会获得总共 5 年的支持,包括安全更新、重要错误修复以及特定情况下的后端服务器支持。
- LTS 版本的长时间支持使其成为企业和服务器环境的首选选择,因为它们提供了更长的稳定性和可维护性。
3、系统维护
用过 Ubuntu 系统的小伙伴们应该都知道,其预装的软件相较 Debian 来说是更多的,因此占用资源也较多,但减少更多的手动配置,对新手来说较为友好。
二、RHEL 家族
2.1 Red Hat Enterprise Linux
1、系统特点
这是一款由 Red Hat 公司开发和维护的商业 Linux 发行版。它是一种企业级操作系统,旨在为各种企业和组织提供可靠、稳定和安全的计算平台,供多种可选版本,面向服务器与开发环境分别优化。
2、维护周期
Red Hat Enterprise Linux (RHEL) 的维护周期分为两个主要版本类型:长期支持 (LTS) 版本和常规支持版本。以下是 RHEL 不同版本类型的维护周期:
长期支持 (LTS) 版本:
- RHEL 的 LTS 版本通常每 3 到 4 年发布一次。
- LTS 版本会获得至少 10 年的维护支持,其中前 5 年称为 “全面支持” 阶段,后 5 年称为 “维护支持” 阶段。
- 在全面支持阶段,RHEL LTS 版本会获得安全补丁、错误修复和功能增强。
- 在维护支持阶段,RHEL LTS 版本仍然会获得安全补丁,但功能增强和错误修复可能会受到限制。
常规支持版本:
- RHEL 的常规支持版本通常每隔 6 个月发布一次。
- 常规支持版本会获得大约 1 年的全面支持,然后进入维护支持阶段。
- 在维护支持阶段,RHEL 常规支持版本仍然会获得安全补丁,但不会再接收新的功能增强或大的改进。
3、系统维护
对于经常使用 CentOS 操作系统用户来说,维护 Red Hat Enterprise Linux 系统就比较容易,可以说与 CentOS 几乎一致,但具体的难易程度取决于你的经验、熟悉度和具体的维护任务。
2.2 Fedora
1、系统特点
Fedora 是一款由社区支持的 Linux 发行版,它由 Fedora 社区和 Red Hat 公司合作开发,是 Red Hat Enterprise Linux 的上游试验场。
2、维护周期
Fedora 发行版的维护周期相对较短,因为它强调提供最新的开源软件和技术。以下是 Fedora 的维护周期:
常规版本(Regular Releases):
- Fedora 的常规版本每隔约 6 个月发布一次。
- 每个常规版本会获得大约 13 个月的维护支持。
- 这意味着在一个 Fedora 常规版本发布后的大约 13 个月内,你将获得安全更新和维护支持。
长期支持(LTS)版本:
- Fedora 有一些特定版本被标记为长期支持 (LTS) 版本。
- LTS 版本通常每隔 2 年左右发布一次。
- LTS 版本会获得更长的支持期限,通常为 30 个月。这意味着在一个 Fedora LTS 版本发布后的约 30 个月内,你将获得安全更新和维护支持。
需要注意的是:Fedora 的维护周期相对较短,因此不推荐使用该操作系统应用与生产环境,如果你需要更长期的支持和稳定性,可考虑其他发行版,如 Red Hat Enterprise Linux (RHEL) 或 Debian,它们提供了更长期的支持和维护。Fedora 通常更适合那些希望体验最新功能和技术的 Linux 用户(说白了就是“尝鲜”
)。
3、系统维护
Fedora 的系统维护对于有一定 Linux 使用经验的小伙伴来说通常不会太困难,主要是其维护周期相对较短,可能需要花费一些时间和精力进行频繁的版本升级、安全更新等。
2.3 CentOS
1、系统特点
CentOS 是基于 Red Hat Enterprise Linux (RHEL) 的源代码构建而成的。CentOS 的目标是提供与 RHEL 完全兼容的操作系统,但没有 RHEL 中的商业支持,因此它被广泛用于需要稳定性和安全性的服务器环境,同时不需要付费许可费用。
2、维护周期
CentOS 7 的维护周期开始于 2014 年的发布,并于 2024 年 6 月结束。这意味着在这段时间内,CentOS 7 将会持续提供安全补丁和更新。以下是 CentOS 的维护周期:
CentOS Linux(传统版本):
- CentOS Linux 通常分为两个主要版本系列:CentOS 7 和 CentOS 8。
- CentOS 7 的维护周期:CentOS 7 发布于2014年,维护周期为10年。这意味着在2024年11月之前,CentOS 7 将持续获得安全更新和维护支持。
- CentOS 8 的维护周期:CentOS 8 发布于2019年,但于 2020 年末宣布停止维护。这意味着 CentOS 8 的维护周期较短,不会像 CentOS 7 那样获得完整的10年维护。取而代之,CentOS Stream 成为了 CentOS 8 的后继版本。
CentOS Stream:
- CentOS Stream 是 CentOS 8 的后继版本,与 RHEL 的开发分支更为接近(是 Fedora 与原生 RHEL 之间的中游版本)。它提供了较新的特性和软件包,但维护周期相对较短。
- CentOS Stream 不再提供传统的长期维护支持。相反,它提供了持续的、滚动发布的更新,以反映 RHEL 的最新开发进展。
- CentOS Stream 用户需要定期更新系统以保持最新。
3、系统维护
RHEL 家族操作系统的维护基本都是一致的,管理起来也是很方便的。
因此,不再推荐在服务器上使用 CentOS 或 CentOS Stream 了,这也是本次我们讨论的重点 —— 如何平替我们的 CentOS 系统。
2.4 Rocky Linux
1、系统特点
Rocky Linux 是 CentOS 的创始人 Gregory Kurtzer 发起的开源操作系统项目,是基于 Red Hat Enterprise Linux (RHEL) 的源代码构建的下游版本,它的目标是提供一个与 CentOS 7相似和填补 CentOS Linux 8 不再提供的长期支持 (LTS) 版本的空白。
2、维护周期
与 Red Hat Enterprise Linux (RHEL) 相似,每个 LTS 版本也是将获得为期10年维护支持。
3、系统维护
如果你熟悉 CentOS 的维护,Rocky Linux 的维护就不在话下了。
2.5 AlmaLinux
1、系统特点
AlmaLinux 由 CloudLinux 公司创建,该公司是一个以安全性和稳定性为核心的 Linux 发行版提供商。它的目标同样也是对 CentOS 8 变化的回应,提供一个与 CentOS 8 兼容的、稳定的、并提供长期支持的 Linux 发行版,与 RHEL 完全兼容。
2、维护周期
与 Red Hat Enterprise Linux (RHEL) 相似,每个 LTS 版本也是将获得为期10年维护支持。
3、系统维护
与 CentOS、Rocky Linux 维护没什么本质区别。
三、如何选择?
那问题来了,Debian 家族和 RHEL 家族中的 Linux 发行版到底如何选择呢?如果你们企业目前使用的是 CentOS,该如何平替你们的操作系统呢?
平替前我们要考虑到两个方面的问题:
- 如果你公司当前使用的是 Debian 家族的 Linux 发行版,那就不要动,继续生产使用。
- 如果你公司当前使用的是 CentOS 操作系统,那你可以做如下考虑:
- 如果公司成本允许,可考虑使用
Red Hat Enterprise Linux
; - 如果公司成本不允许,可考虑使用
Rocky Linux
或AlmaLinux
。
- 如果公司成本允许,可考虑使用
但从目前国内市场来看,选择 Red Hat Enterprise Linux
的企业并不多,大多是 CentOS/Ubuntu,因此如果你公司使用的是 CentOS,那我推荐你使用 Rocky Linux
或 AlmaLinux
。
那 Rocky Linux
或 AlmaLinux
我们又如何选择呢?它们之间又有什么区别呢?本质上,Rocky Linux
与 AlmaLinux
是没有区别的,都是为了填补 CentOS 8 不再提供长期支持 (LTS) 版本的空白而创建的 Linux 发行版。如果非得选一个,我的建议是抽签,抽到谁就是谁 (*❛ω❛*)。
- | AlmaLinux | Rocky Linux |
---|---|---|
背景 | 由 CloudLinux 公司创建和支持 | 由 Gregory Kurtzer 领导的一个社区驱动的项目 |
目标 | 专注于 Linux 稳定性和安全性,注重企业级使用 | 背景与 CentOS 有关,注重社区支持和广泛采用 |
包管理 | RPM、YUM,、DNF | RPM、YUM |
兼容性 | 致力于提供与 CentOS 8 完全二进制兼容的特性 | 同样也追求与 CentOS 8 的兼容性 |
维护周期 | 每个 LTS 版本提供了 10 年的长期维护支持 | 每个 LTS 版本提供了 10 年的长期维护支持 |
社区支持 | 社区活跃 | 社区活跃 |
品牌和认知度 | 在CentOS8的变化后发布,相较具有更广泛的认知度 | 由于其社区驱动的背景,也在一些用户中受到欢迎 |
… | … | … |
还有很多细微的区别,留给大家自行去探索!
思考?
Question:操作系统如何迁移至目标 Linux 系统?
以 CentOS 迁移 Rocky Linux 为例,CentOS 7 无需重新部署之前已经部署的应用而直接更换为 Rocky Linux。
具体可参考 Rocky Linux 技术博客:https://rockylinux.cn/technical-blog
注意!!!不建议在原本业务系统上进行升级,很大概率会出错(亲测 => 各种报错),而且 Rocky 官方目前支持的 CentOS 迁移条件是,CentOS 的版本必须是 8
的,如果你想从 CentOS 7 迁移至 Rocky 8,步骤就是:CentOS 7 - - > CentOS 8 - - > Rocky 8
而就 CentOS 7 - - > CentOS 8
这个迁移就会出现各种问题(运气不好的话-大概率会出问题,比如说 gcc 版本要求等,CentOS 8 的 gcc 版本要求是 >=8 且 < 9)。所以老项目就直接在 CentOS 上运行即可,以后有新的项目时,再重新购买新服务器进行部署即可,但业余时间去尝试升级玩一玩也是挺不错的 (๑❛ᴗ❛๑) 。
附件1:Unix 和 Linux 的使用情况
附件2::Linux 发行版的使用情况
—END