如何应对红帽不再维护 CentOS

centos · 浏览次数 : 57

小编点评

CentOS(社区企业操作系统)是一个免费的、开源的操作系统,旨在为企业和个人提供稳定、安全的服务器环境。它基于 Red Hat Enterprise Linux(RHEL)开发,但并非 RHEL 的免费替代品。CentOS 有多种版本,包括 CentOS 8、CentOS 7 和 CentOS 6,分别对应不同的维护期限。近年来,CentOS 开发团队逐渐将重心转移到 CentOS Stream,这是一个面向 Red Hat Enterprise Linux 的上游(开发)分支。 CentOS 由于其开源免费的特点,得到了广泛的应用。然而,随着 Red Hat 与 CentOS 的合作关系变化,CentOS 的未来发展变得不确定。因此,一些用户开始寻找替代方案,如 Rocky Linux、AlmaLinux 和 Alibaba Cloud Linux 等。 在选择替代系统时,需要考虑兼容性、稳定性、软件包数量、社区支持等因素。对于一般的研发人员和普通用户,Ubuntu 和 Debian 是两个不错的选择。而对于需要高度稳定性和可靠性的服务器环境,Debian 可能更适合。 总之,CentOS 仍然是一个值得信赖的操作系统,但在面临 Red Hat 的退出和替代方案的涌现时,用户需要权衡利弊,选择最适合自己的方案。

正文

CentOS(Community Enterprise Operating System,社区企业操作系统)是一种开源的、免费的操作系统。由 Lance Davis 发起,通过社区驱动,目标是创建一个免费的企业级操作系统。它根据 Red Hat Enterprise Linux(RHEL)开放源码编译而成,由于代码相同,因此一些要求高度稳定性的服务器使用 CentOS 作为 Red Hat Enterprise Linux 的替代品。

2014 年,CentOS 宣布与 Red Hat 合作,但 CentOS 将会在新的委员会下继续运作,不受 RHEL 的影响。

2020 年 12 月 8 日,红帽公司单方面终止了 CentOS 的开发。CentOS 的创始人 Gregory Kurtzer 创建了 Rocky Linux 项目,以继承 CentOS 的原始目标。

一、使用情况

我们当前主要使用版本为:

CentOS 8:最新的稳定版本,发布于 2019 年 9 月 24 日,原计划的维护期限到 2029 年 5 月,但由于策略变更,实际的维护期限提前到了 2021 年 12 月 31 日。

CentOS 7:发布于 2014 年 7 月 7 日,是目前应用最广泛的版本,维护期限到 2024 年 6 月 30 日。

CentOS 6:发布于 2011 年 7 月 10 日,维护期限到 2020 年 11 月 30 日。

二、官方公告

公告参考:CentOS Project shifts focus to CentOS StreamFAQ

重点说明:官方未来重心转移到 CentOS Stream ,并将其作为 Red Hat Enterprise Linux 的上游(开发)分支。

三、个人看法

(1)CentOS Stream 将作为 RHEL 的测试版本,不具备稳定和可靠的特性。

(2)SIGs(CentOS Special Interest Groups)未来大概率会消亡。它只能按照官方的要求来维护及更新(参考 FAQ Q13),只能给 RHEL 做贡献,RHEL 不再会回馈它 CentOS。

(3)不建议使用 CentOS Stream。

四、对替代系统的要求

(1)开源免费

(2)好用、稳定和可靠

(3)官方、社区支持及生态好

(4)最好能兼容 CentOS

五、可替代的系统

根据我们对替代系统的要求及是否兼容 CentOS,我们做了如下两类替代方案:

1. 兼容 CentOS 的 OS

操作系统 简介 下载量
Rocky Linux Rocky Linux 是一个社区化的企业级操作系统,位于 Red Hat Enterprise Linux(RHEL)下游。Rocky Linux 与 CentOS 一样,提供了适用于服务器的稳定版本,旨在作为 CentOS 的完全兼容替代版本。 1000 万
AlmaLinux AlmaLinux 是 CloudLinux 团队宣布构建的一个稳定版 CentOS 社区分支。该操作系统实现了与 Red Hat Enterprise Linux(RHEL)二进制文件的 1:1 兼容,并提供了不停机更换操作系统的能力。 500 万
Alibaba Cloud Linux Alibaba Cloud Linux 由阿里云官方提供,完全兼容 RHEL/CentOS 生态和操作方式。该操作系统针对阿里云做了大量优化,并由阿里云免费提供长期支持和维护(LTS)。 175 万

下载量引自 dockerhub阿里云镜像仓库,下同。

2. 其他不兼容 CentOS 的 OS

操作系统 简介 下载量
Ubuntu Ubuntu 是由 Canonical 开发的 Linux 发行版,用户可以基于 Ubuntu 安装图形化桌面,以便于使用。 10 亿
Debian Debian 是一个流行的 Linux 操作系统,以其稳定性、安全性和自由软件原则而闻名。 10 亿
OpenSUSE OpenSUSE 是一个基于 Linux 内核的操作系统,由 OpenSUSE 项目社区开发维护,并且得到了 SUSE 等公司的赞助。 1000 万

六、Ubuntu VS Debian

1. Ubuntu

(1)特点

  1. Ubuntu 通常会基于 Debian 不稳定分支来开发,它的目标是为了实现一个对用户友好的操作系统。

  2. Ubuntu 有定期的发行版本,每六个月就会有一个新版本,每两年会有一个长期支持(LTS)版本,LTS 提供五年支持。

  3. Ubuntu 对硬件的支持比较全面,包括各种笔记本电脑和台式机。

  4. Ubuntu 有一个强大的社区支持,有很多的教程和指南。

(2)优点

  1. 安装简单,对新手友好。

  2. 有大量的软件包可供选择。

  3. 系统更新及时,安全性较高。

  4. 社区活跃,遇到问题容易找到解决方案。

(3)缺点

  1. 系统占用资源相对较多,不适合老旧机器。

  2. 版本更新频繁,有些用户可能不喜欢频繁的更新。

2. Debian

(1)特点

  1. Debian 是一个自由的操作系统,它的主要构成是多种预编译软件,这些软件以一种易于管理的格式打包。

  2. Debian 有一个严格的政策,对软件的质量有高要求。

  3. Debian 支持多种计算机架构。

  4. Debian 有一个大型的社区,有很多志愿者参与开发。

  5. 主要稳定版本大约每两年发布一次,提供五年支持。

(2)优点

  1. 系统稳定,适合服务器环境。

  2. 软件包管理系统强大,易于管理和维护。

  3. 社区活跃,有很多高质量的文档和教程。

(3)缺点

  1. 对新手不太友好,配置和安装比较复杂。

  2. 对硬件的支持不如 Ubuntu 全面。

  3. 软件包更新不及 Ubuntu 及时,有些软件可能不是最新版本。

3. 个人看法

(1)如果你是 Linux 新手,或者需要广泛的硬件支持和易于使用的系统,Ubuntu 可能是更好的选择,Ubuntu 的 LTS 版本适合作为长期稳定的企业级服务器的操作系统。

(2)如果你是一位经验丰富的 Linux 用户,需要高度定制的服务器或者对稳定性有极高要求,Debian 可能更适合你,Debian 稳定版的软件虽然不是最新的,但经过了严格的测试,非常适合关键任务的服务器环境。

(3)无论是 Ubuntu 还是 Debian,内置功能都较少,Debian 默认甚至不支持 top 命令,两者都需要经过二次定制,才能用于生产环境。

七、不得不说 Alpine

在构建 Docker 镜像时,虽然 Alpine 的体积小、启动速度快等特性很吸引人,但是以下原因可能使得它并不适合广泛使用:

  1. 兼容性问题:Alpine Linux 使用的是 musl libc 而不是大多数 Linux 发行版使用的 glibc。这可能会导致一些依赖于 glibc 的应用在 Alpine 上运行出错。

  2. 软件包:Alpine 的软件库相对较小,一些常见的软件包可能无法找到。

  3. 调试和故障排查:由于 Alpine 的体积小,很多常见的调试工具可能并未预装,这可能会在需要调试或故障排查时带来不便。

  4. 文档和社区支持:相比于其他主流的 Linux 发行版,Alpine 的文档和社区支持相对较弱,这可能会在解决问题时增加难度。

  5. 网络问题:Alpine 使用的网络工具是 BusyBox 提供的,一些网络功能可能无法正常使用。

个人看法:Docker 本身内置分层缓存机制,并且可以在编译机上进行二次缓存,在实际企业 CI/CD 环境中,即使我们使用了体积较大的系统镜像,打包编译时也仅是第一次较慢,且由于所处内网环境,通常使用光纤网络,镜像下载很快,实际对编译进度影响更小。而由于 Alpine 本身的不足,不仅可能影响线上业务的稳定,甚至可能影响到线上问题定位或故障分析。个人认为 Alpine 不适合作为实际生产环境的镜像系统。

八、个人建议

(1)非必要不更新(替代)CentOS。

(2)首选 Rocky Linux 作为兼容 CentOS 的 OS,社区相对较好,用户体量也相对较大。

(3)相比 Debian,Ubuntu 更为流行和易用,更适合作为面向普通研发人员的 Docker 容器镜像;相比 Ubuntu,Debian 更稳定可靠,更适合面向专业运维人员的服务器系统。

九、参考文章

(1) CentOS Project shifts focus to CentOS Stream

(2) FAQ - CentOS Project shifts focus to CentOS Stream

(3) 阿里云 CentOS EOL 应对方案

(4) 从 CentOS 8 到 CentOS Stream 到底发生什么事了?

(5) 亚马逊云科技上在 CentOS 在停止维护后的几种选择

(6) What are the pros and cons of Debian and Ubuntu for server usage?

与如何应对红帽不再维护 CentOS相似的内容:

如何应对红帽不再维护 CentOS

CentOS(Community Enterprise Operating System,社区企业操作系统)是一种开源的、免费的操作系统。由 Lance Davis 发起,通过社区驱动,目标是创建一个免费的企业级操作系统。它根据 Red Hat Enterprise Linux(RHEL)开放源码编

在这个大环境下我是如何找工作的

![](https://s2.loli.net/2023/06/19/SQP9LxtXNhGwyev.png) 蛮久没更新了,本次我想聊聊找工作的事情,相信大家都能感受到从去年开始到现在市场是一天比一天差,特别是在我们互联网 IT 行业。 已经过了 18 年之前的高速发展的红利期,能做的互联网应用几

[转帖]如何应对变慢的Redis-波动的响应延迟

Redis突然变慢了,如何排查呢 文章目录 问题认定应对方案Redis自身操作特性慢查询命令过期key操作 文件系统AOF解决方案 操作系统Swap内存大页 CheckList 问题认定 如何判断Redis是不是真的变慢了?通过Redis的响应延迟 大部分时候,Redis延迟很低,某些时刻,Redi

人工智能如何应对 DevOps 监控和可观测性挑战

本文将为您介绍人工智能(AI)如何通过分析日志和指标来预测潜在的系统故障或性能下降,从而实现主动维护和问题解决。

[转帖]TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?

https://www.jianshu.com/p/072ed535b1dc 原文地址:TCP 半连接队列和全连接队列满了会发生什么? 一个端口上面的tcp连接创建,基本都只用一个线程处理。如果大并发连接请求过来,处理不了,那么会放入“待处理队列”。为什么不用多线程呢?因为创建连接基本都是内存操作,

跨越HTTP无状态边界:Cookie与Session在Django中的实战应用

**本文深入探索了Django中的Cookie和Session,解析了如何应对HTTP协议的无状态性问题,说明其基础概念,分析工作原理,并讨论何时应选择使用Cookie或Session。文章进阶部分,提出高效管理Cookie和Session,以及如何利用它们进行用户身份验证。** ## HTTP协议

前端代码安全与混淆

本文从攻击者角度和防御者角度详细解析前端代码安全与混淆的相关知识,总结了大部分攻击者共同点以及如何应对普通开发者外挂程序和Pyhton 爬虫

了不起的互联网老男孩,在创业路上不掉队

“青春如同奔流的江河,一去不回来不及道别”,老男孩这首歌戳中了太多职场中年男人的心酸苦楚,面对经济下行压力、互联网行业变革以及中年职场危机,互联网人应该如何应对?如何建立和现实叫板的能力? 有2位在互联网创业多年的开发者,经历了从PC互联网到移动互联网的发展变迁,踩过不少坑,一路磕磕碰碰走到现在,放

vivo 手机云服务建设之路-平台产品系列04

手机云服务目前作为每家手机厂商必备的一项基础服务,其服务能力和服务质量对用户来说可以说是非常重要。用户将自己大量的信息数据存储在云端,那我们的云端服务如何保证服务的稳定和数据的安全,以及如何应对越来越多用户群体的使用?本文将主要介绍 vivo 手机云服务系统的建设历程。

【23种设计模式】建造者模式(四)

## 前言 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中