如何应对红帽不再维护 CentOS
<p>CentOS(Community Enterprise Operating System,社区企业操作系统)是由 Lance Davis 发起,通过社区驱动,目标是创建一个免费、开源的企业级操作系统。它根据 Red Hat Enterprise Linux(RHEL)开放源码编译而成,由于代码相同,因此一些要求免费且高度稳定性的服务器使用 CentOS 作为 Red Hat Enterprise Linux 的替代品。</p><p>2014 年,CentOS 宣布与 Red Hat 合作,但 CentOS 将会在新的委员会下继续运作,不受 RHEL 的影响。</p>
<p>2020 年 12 月 8 日,红帽公司单方面终止了 CentOS 的开发。CentOS 的创始人 Gregory Kurtzer 创建了 Rocky Linux 项目,以继承 CentOS 的原始目标。</p>
<h2 id="一使用情况">一、使用情况</h2>
<p>我们当前主要使用版本为:</p>
<p><strong>CentOS 8</strong>:最新的稳定版本,发布于 2019 年 9 月 24 日,原计划的维护期限到 2029 年 5 月,但由于策略变更,实际的维护期限提前到了 2021 年 12 月 31 日。</p>
<p><strong>CentOS 7</strong>:发布于 2014 年 7 月 7 日,是目前应用最广泛的版本,维护期限到 2024 年 6 月 30 日。</p>
<p><strong>CentOS 6</strong>:发布于 2011 年 7 月 10 日,维护期限到 2020 年 11 月 30 日。</p>
<h2 id="二官方公告">二、官方公告</h2>
<p>公告参考:CentOS Project shifts focus to CentOS Stream 和 FAQ。</p>
<p>重点说明:<strong>官方未来重心转移到 CentOS Stream ,并将其作为 Red Hat Enterprise Linux 的上游(开发)分支。</strong></p>
<h2 id="三个人看法">三、个人看法</h2>
<p>(1)CentOS Stream 将作为 RHEL 的测试版本,不具备稳定和可靠的特性。</p>
<p>(2)SIGs(CentOS Special Interest Groups)未来大概率会消亡。它只能按照官方的要求来维护及更新(参考 FAQ Q13),只能给 RHEL 做贡献,RHEL 不再会回馈它 CentOS。</p>
<p>(3)不建议使用 CentOS Stream。</p>
<h2 id="四对替代系统的要求">四、对替代系统的要求</h2>
<p>(1)开源免费</p>
<p>(2)好用、稳定和可靠</p>
<p>(3)官方、社区支持及生态好</p>
<p>(4)最好能兼容 CentOS</p>
<h2 id="五可替代的系统">五、可替代的系统</h2>
<p>根据我们对替代系统的要求及是否兼容 CentOS,我们做了如下两类替代方案:</p>
<h3 id="1-兼容-centos-的-os">1. 兼容 CentOS 的 OS</h3>
<table>
<thead>
<tr>
<th>操作系统</th>
<th>简介</th>
<th>下载量</th>
</tr>
</thead>
<tbody>
<tr>
<td>Rocky Linux</td>
<td>Rocky Linux 是一个社区化的企业级操作系统,位于 Red Hat Enterprise Linux(RHEL)下游。Rocky Linux 与 CentOS 一样,提供了适用于服务器的稳定版本,旨在作为 CentOS 的完全兼容替代版本。</td>
<td>1000 万</td>
</tr>
<tr>
<td>AlmaLinux</td>
<td>AlmaLinux 是 CloudLinux 团队宣布构建的一个稳定版 CentOS 社区分支。该操作系统实现了与 Red Hat Enterprise Linux(RHEL)二进制文件的 1:1 兼容,并提供了不停机更换操作系统的能力。</td>
<td>500 万</td>
</tr>
<tr>
<td>Alibaba Cloud Linux</td>
<td>Alibaba Cloud Linux 由阿里云官方提供,完全兼容 RHEL/CentOS 生态和操作方式。该操作系统针对阿里云做了大量优化,并由阿里云免费提供长期支持和维护(LTS)。</td>
<td>175 万</td>
</tr>
</tbody>
</table>
<p>下载量引自 dockerhub 或 阿里云镜像仓库,下同。</p>
<h3 id="2-其他不兼容-centos-的-os">2. 其他不兼容 CentOS 的 OS</h3>
<table>
<thead>
<tr>
<th>操作系统</th>
<th>简介</th>
<th>下载量</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ubuntu</td>
<td>Ubuntu 是由 Canonical 开发的 Linux 发行版,用户可以基于 Ubuntu 安装图形化桌面,以便于使用。</td>
<td>10 亿</td>
</tr>
<tr>
<td>Debian</td>
<td>Debian 是一个流行的 Linux 操作系统,以其稳定性、安全性和自由软件原则而闻名。</td>
<td>10 亿</td>
</tr>
<tr>
<td>OpenSUSE</td>
<td>OpenSUSE 是一个基于 Linux 内核的操作系统,由 OpenSUSE 项目社区开发维护,并且得到了 SUSE 等公司的赞助。</td>
<td>1000 万</td>
</tr>
</tbody>
</table>
<h2 id="六ubuntu-vs-debian">六、Ubuntu VS Debian</h2>
<h3 id="1-ubuntu">1. Ubuntu</h3>
<p>(1)特点</p>
<ol>
<li>
<p>Ubuntu 通常会基于 Debian 不稳定分支来开发,它的目标是为了实现一个对用户友好的操作系统。</p>
</li>
<li>
<p>Ubuntu 有定期的发行版本,每六个月就会有一个新版本,每两年会有一个长期支持(LTS)版本,LTS 提供五年支持。</p>
</li>
<li>
<p>Ubuntu 对硬件的支持比较全面,包括各种笔记本电脑和台式机。</p>
</li>
<li>
<p>Ubuntu 有一个强大的社区支持,有很多的教程和指南。</p>
</li>
</ol>
<p>(2)优点</p>
<ol>
<li>
<p>安装简单,对新手友好。</p>
</li>
<li>
<p>有大量的软件包可供选择。</p>
</li>
<li>
<p>系统更新及时,安全性较高。</p>
</li>
<li>
<p>社区活跃,遇到问题容易找到解决方案。</p>
</li>
</ol>
<p>(3)缺点</p>
<ol>
<li>
<p>系统占用资源相对较多,不适合老旧机器。</p>
</li>
<li>
<p>版本更新频繁,有些用户可能不喜欢频繁的更新。</p>
</li>
</ol>
<h3 id="2-debian">2. Debian</h3>
<p>(1)特点</p>
<ol>
<li>
<p>Debian 是一个自由的操作系统,它的主要构成是多种预编译软件,这些软件以一种易于管理的格式打包。</p>
</li>
<li>
<p>Debian 有一个严格的政策,对软件的质量有高要求。</p>
</li>
<li>
<p>Debian 支持多种计算机架构。</p>
</li>
<li>
<p>Debian 有一个大型的社区,有很多志愿者参与开发。</p>
</li>
<li>
<p>主要稳定版本大约每两年发布一次,提供五年支持。</p>
</li>
</ol>
<p>(2)优点</p>
<ol>
<li>
<p>系统稳定,适合服务器环境。</p>
</li>
<li>
<p>软件包管理系统强大,易于管理和维护。</p>
</li>
<li>
<p>社区活跃,有很多高质量的文档和教程。</p>
</li>
</ol>
<p>(3)缺点</p>
<ol>
<li>
<p>对新手不太友好,配置和安装比较复杂。</p>
</li>
<li>
<p>对硬件的支持不如 Ubuntu 全面。</p>
</li>
<li>
<p>软件包更新不及 Ubuntu 及时,有些软件可能不是最新版本。</p>
</li>
</ol>
<h3 id="3-个人看法">3. 个人看法</h3>
<p>(1)如果你是 Linux 新手,或者需要广泛的硬件支持和易于使用的系统,Ubuntu 可能是更好的选择,Ubuntu 的 LTS 版本适合作为长期稳定的企业级服务器的操作系统。</p>
<p>(2)如果你是一位经验丰富的 Linux 用户,需要高度定制的服务器或者对稳定性有极高要求,Debian 可能更适合你,Debian 稳定版的软件虽然不是最新的,但经过了严格的测试,非常适合关键任务的服务器环境。</p>
<p>(3)无论是 Ubuntu 还是 Debian,内置功能都较少,Debian 默认甚至不支持 top 命令,两者都需要经过二次定制,才能用于生产环境。</p>
<h2 id="七不得不说-alpine">七、不得不说 Alpine</h2>
<p>在构建 Docker 镜像时,虽然 Alpine 的体积小、启动速度快等特性很吸引人,但是以下原因可能使得它并不适合广泛使用:</p>
<ol>
<li>
<p><strong>兼容性问题</strong>:Alpine Linux 使用的是 musl libc 而不是大多数 Linux 发行版使用的 glibc。这可能会导致一些依赖于 glibc 的应用在 Alpine 上运行出错。</p>
</li>
<li>
<p><strong>软件包</strong>:Alpine 的软件库相对较小,一些常见的软件包可能无法找到。</p>
</li>
<li>
<p><strong>调试和故障排查</strong>:由于 Alpine 的体积小,很多常见的调试工具可能并未预装,这可能会在需要调试或故障排查时带来不便。</p>
</li>
<li>
<p><strong>文档和社区支持</strong>:相比于其他主流的 Linux 发行版,Alpine 的文档和社区支持相对较弱,这可能会在解决问题时增加难度。</p>
</li>
<li>
<p><strong>网络问题</strong>:Alpine 使用的网络工具是 BusyBox 提供的,一些网络功能可能无法正常使用。</p>
</li>
</ol>
<p><strong>个人看法</strong>:Docker 本身内置分层缓存机制,并且可以在编译机上进行二次缓存,在实际企业 CI/CD 环境中,即使我们使用了体积较大的系统镜像,打包编译时也仅是第一次较慢,且由于所处内网环境,通常使用光纤网络,镜像下载很快,实际对编译进度影响更小。而由于 Alpine 本身的不足,不仅可能影响线上业务的稳定,甚至可能影响到线上问题定位或故障分析。个人认为 Alpine 不适合作为实际生产环境的镜像系统。</p>
<h2 id="八个人建议">八、个人建议</h2>
<p>(1)非必要不更新(替代)CentOS。</p>
<p>(2)首选 Rocky Linux 作为兼容 CentOS 的 OS,社区相对较好,用户体量也相对较大。</p>
<p>(3)相比 Debian,Ubuntu 更为流行和易用,更适合作为面向普通研发人员的 Docker 容器镜像;相比 Ubuntu,Debian 更稳定可靠,更适合面向专业运维人员的服务器系统。</p>
<h2 id="九参考文章">九、参考文章</h2>
<p>(1) CentOS Project shifts focus to CentOS Stream</p>
<p>(2) FAQ - CentOS Project shifts focus to CentOS Stream</p>
<p>(3) 阿里云 CentOS EOL 应对方案</p>
<p>(4) 从 CentOS 8 到 CentOS Stream 到底发生什么事了?</p>
<p>(5) 亚马逊云科技上在 CentOS 在停止维护后的几种选择</p>
<p>(6) What are the pros and cons of Debian and Ubuntu for server usage?</p><br><br>
来源:https://www.cnblogs.com/zengzuo613/p/18292697
頁:
[1]