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的更多相关文章

  1. 原博客地址http://blog.chinaunix.net/uid/20656672.html不再维护(10年前数百篇oracle/teradata性能优化、故障处理案例)

    原博客地址http://blog.chinaunix.net/uid/20656672.html不再维护(数百篇oracle/teradata性能优化.故障处理原创文章) 858871 top 500 ...

  2. 此博客不再维护,请移步http://daiweilai.github.io/

    此博客不再维护,请移步新博客 http://daiweilai.github.io/ 新开的这个博客系统,托管在了Github.io上,喜闻乐见的Jekll加借鉴(抄袭)的精美主题构建而成,反正样子应 ...

  3. 关于OSS不再维护的一些讨论

    FUSE for macOS 将不再维护 Fuse 是一款针对Mac OS的文件系统所开发的一款开源软件. 用于MacOS的FUSE软件包提供了多个API,用于为OS X 10.9至macOS 10. ...

  4. 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

    来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...

  5. SQL Server调优系列进阶篇(如何维护数据库索引)

    前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...

  6. LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP

    http://www.centos.bz/lamp/ 此安装包已经不再维护,请使用新版http://www.centos.bz/ezhttp/. 适用环境: 系统支持:CentOS-5 (32bit/ ...

  7. SQL Server调优系列进阶篇 - 如何维护数据库索引

    前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...

  8. ubuntu centos debina

    文章目录CentOSDebianCentOS与Debian哪个好?Ubuntu买VPS时有CentOS.Debian.Ubuntu三种操作系统可以选择,Linux下哪种系统更好是很多新人都会遇到的问题 ...

  9. CentOS 7安装squid代理服务器

    Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...

  10. [转帖]服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

    来源:https://www.zhihu.com/question/19599986 作者: https://www.zhihu.com/people/yuan-hao-yang/answers IT ...

随机推荐

  1. postgresql 去重&查最新一组记录 关键词partition by

  2. postgresql性能优化2:sql语句和缓存配置

    1.看执行计划 EXPLAIN, 此命令用于查看SQL的执行计划 总的来说sql的执行计划是一个树形层次结构, 一般来说阅读上遵从层级越深越优先, 同一层级由上到下的原则. 来跟着铁蛋老师读: 层级越 ...

  3. 让AnaTraf成为您网络流量分析的最佳利器

    在快速发展的数字时代,企业对网络性能的监测与分析需求愈加旺盛.作为网络性能监测与诊断(NPMD)领域的佼佼者,AnaTraf网络流量分析仪凭借其出色的性能和易用性,正成为网络管理人员的首选工具. An ...

  4. 5GC 关键技术之 MEC 边缘计算

    目录 文章目录 目录 前文列表 MEC 边缘计算 ETSI MEC 标准化参考模型 MEC 架构设计原则 MEC 分层架构 MEC 系统架构 MEC 软件架构 MEC in NFV 融合架构 ETSI ...

  5. PageOffice6最简集成代码(Asp.Net)

    本文描述了PageOffice产品在普通的Asp.Net项目中如何集成调用. 新建Asp.Net项目:PageOffice6-Net-Simple 在您的web项目的"依赖项-包-管理NuG ...

  6. Git:国内用命令行访问GitHub的方法

    1 直接改Hosts文件(现在不太管用了) 如果你是Linux或Mac系统,那么可以通过命令sudo vim /etc/hosts打开Hosts文件,并加入以下内容: 140.82.114.25 al ...

  7. 【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)

    在使用App Service服务部署业务应用,因为有些第三方的接口需要调用者携带TLS/SSL证书(X509 Certificate),在官方文档中介绍了两种方式在代码中使用证书: 1) 直接使用证书 ...

  8. linux扩展分区

    linux扩展分区 1.准备工作 系统版本:ubuntu20.04 工具:一个安装了ubuntu系统的系统U盘或者ubuntu系统制作的启动盘 2.缩小分区 要扩展某一个分区,再没有空闲空间时需要从其 ...

  9. js 求任意两数之间的和

    知识点:函数的传参,函数的返回值 函数的传参 函数的参数包括以下两种类型: 1.形参:在定义函数时,声明的参数变量仅在函数内部可见: 2.实参:在调用函数时,实际传入的值. 示例 我们在定义函数的时候 ...

  10. C#.NET与JAVA互通之AES加密解密V2024

    C#.NET与JAVA互通之AES加密解密V2024 视频: 注意点: 1. KEY 和 IV 从字符串转byte数组时,双方要约定好编码,一般是UTF8. 2.明文从字符串转byte数组时,双方要约 ...