如何應對紅帽不再維護 CentOS

曾左發表於2024-07-09

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?

相關文章