Red Hat Linux 作業系統關係大亂鬥

Fedora Linux vs Rhel vs CentOS vs CoreOS

最近這個問題常常被問到,索幸直接整理一篇。

首先先用左右區分不同用途的作業系統,左邊是一般的 Host Linux 作業系統流派;右邊是為了分散式架構開發出來的輕量化作業系統流派,近年來為了容器的發展,各大知名的 Linux 廠商紛紛推出自家的 Container OS。至於 Host 和 Container OS 差別在哪?可以參考這篇文章

Operating System

Host

Red Hat Linux 是 Red Hat 公司開發的一套個人電腦用的免費 Linux 作業系統,1994/11/3 發行 1.0 版本。旁邊的 Fedora Linux(第七版以前稱作 Fedora Core) 所屬的社群最早的開發目標是為左邊的 Red Hat Linux 開發第三方的套件,但是 Red Hat Linux 9.0 發布後,Red Hat 便決定將開發方向轉移到商用的伺服器作業系統,也就是後來的 Red Hat Enterprise Linux (RHEL),並於 2004/4/30正式停止對 Red Hat Linux 9.0 的支援,於是乎 Fedora 社群便整合到 Red Hat 贊助的 Fedora Project,開發社群版本的作業系統。當然 Fedora Project 除了有熱血工程師之外,也有 Red Hat 員工參與開發,因此也被當成是新技術的測試平台,可用的技術會被採納進下游的商用版 RHEL 作業系統。

CentOS 則是由 RHEL 依照開放原始碼規定釋出的原始碼編譯的開源免費版,兩者不同在於 CentOS 並不包含要付錢封閉原始碼的部分,並且移除了不能自由使用的商標。 2014 年 CentOS 宣布與 Red Hat 合作,但審核的委員會是獨立不受 Red Hat 影響,基於相同的核心,想測試 RHEL8 但沒錢荷包緊縮的開發者可使用於 2019.9.24 發布的 CentOS 8。

Container OS

相較於 Host,Container OS 能夠以更少的安裝套件以及設定運行,並且不是透過 yum 或 apt 來安裝管理套件。

Container Linux (又稱 CoreOS) 是為了分散式叢集架構,基於 Linux 核心開發出的輕量級作業系統,主要用作容器內部所需的基礎功能環境使用。CoreOS 於 2020.5.26 正式結束產品壽命,不再被支援。

2018 年初,Red Hat 以 2.5 億美元買下了新創公司 CoreOS 。並且計畫整合 Fedora Atomic 專案,推出專門為容器的工作設計的容器作業系統,能夠自動更新、修復錯誤、安全漏洞的 Fedora CoreOS。 Fedora CoreOS 結合了上游兩個專案的優點,比方說來自 Container Linux 的 Ignition (管理 Configuration) 以及 rpm-ostree (管理套件以及 Image 的混合系統)、Project Atomic 的 SELinux (安全強化技術),讓使用者可以安全地部署到大規模的分散式系統上,如 Kubernetes。

而 RHCOS(Red Hat Enterprise CoreOS) 則是 Fedora CoreOS 的下游商業版本,基於 RHEL 8 的核心開發釋出,管理比 RHEL 預設安裝的更加嚴格,目前作為 Red Hat OpenShift 的容器作業系統使用。

Flatcar Container Linux 是 CoreOS 的 Fork 版本,是開放原始碼專案,就跟 CentOS 對上 RHEL 一樣,Flatcar 提供相容於 CoreOS 的環境,讓 原本 CoreOS 的使用者可以無痛轉移到 Flatcar 上使用。

Reference