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. C语言:卖鸭子问题---递归法实现

    1.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只.这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子? 代码: #include<st ...

  2. java学习之旅(day.13)

    常用类 Object类 object类是所有类的父类,所有类直接或间接继承object类 所有类,如果没书写extends显示继承某个类,都默认继承object类 getClass()方法 返回值是c ...

  3. nohup Command [ Arg … ] [ & ]

    nohup 英文全称:no hang up 不挂断的意思.退出终端不挂断程序的运行.在默认的情况下,会输出一个名叫 nohup.out 的文件到当前目录下.nohup Command [ Arg - ...

  4. NumPy 二项分布生成与 Seaborn 可视化技巧

    二项分布 简介 二项分布是一种离散概率分布,用于描述在固定次数的独立试验中,事件"成功"的次数的概率分布.它通常用于分析诸如抛硬币.做选择题等具有两个结果(成功或失败)的事件. 参 ...

  5. C# Afroge摄像头翻转90

    1.dll和命名空间就不在此列举了,如下只是将转换方法介绍: 第一个函数: public void Rotate90() { // 计算角度,类变量 //dAngle = dAngle + 90; / ...

  6. ProcessStartInfo 类

    定义 命名空间: System.Diagnostics 程序集: System.Diagnostics.Process.dll 指定启动进程时使用的一组值. C#复制   public sealed ...

  7. OceaBase 分区表创建技巧

    最近遇在干个核心的金融项目,规模很大,客户主要是用oracle数据库,现在需要适配ob,原来在oracle就是分区表的迁来ob以后需要进行改造. oracle默认使用是堆表(ht),而ob使用的是索引 ...

  8. 椭圆曲线密码学(ECC)加解密,附带python代码

    想起来很久没写博客了,刚好今天要写实验报告,随便把之前的也完成吧 1.椭圆曲线概念 椭圆曲线在经过化解后,可以用这条式子表达:E:y²=x³+ax+b 其背后的密码学原理,是基于椭圆曲线离散对数问题, ...

  9. c# winfrom DataGridView 动态UI下载功能(内含GIF图) || 循环可变化的集合 数组 datatable 等

    Gif演示 分解步骤 1,使用组件DataGridView 2,使用DataSource来控制表格展示的数据来源(注意:来源需要是DataTable类型) 3,需要用到异步线程.如果是不控制数据源的话 ...

  10. 前端使用 Konva 实现可视化设计器(13)- 折线 - 最优路径应用【思路篇】

    这一章把直线连接改为折线连接,沿用原来连接点的关系信息.关于折线的计算,使用的是开源的 AStar 算法进行路径规划,启发方式为 曼哈顿距离,且不允许对角线移动. 请大家动动小手,给我一个免费的 St ...