SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Rocky Linux 與 AlmaLinux 該選哪一個?

兩者皆基於 RHEL 重建,差異在於治理與硬體支援。若您的 VPS 使用舊款 Intel Haswell 處理器,AlmaLinux 10 提供相容性支援,而 Rocky Linux 10 則已停止支援。

Rocky Linux 與 AlmaLinux:簡短結論

對於絕大多數伺服器而言,選擇 Rocky Linux 或 AlmaLinux 都不會出錯。這兩個專案皆基於相同的 Red Hat Enterprise Linux (RHEL) 原始碼進行重建,因此它們發布的套件相同,且皆提供十年的支援生命週期。兩者確實存在差異,但這些差異僅存在於治理模式與極少數的邊緣案例中,並不會影響日常的伺服器維運工作。

若無法透過擲硬幣決定,則可參考以下兩點。AlmaLinux 10 仍提供支援 Intel Haswell 以前處理器的建置版本,而 Rocky Linux 10 則否;這對於較便宜或較舊的 VPS (virtual private server) 硬體至關重要。此外,AlmaLinux 承諾的是 ABI 相容性而非完全相同的行為表現,若您執行的廠商產品具有嚴格的支援矩陣,這一點便相當重要。

這兩個發行版的起源

2020 年 12 月 8 日,CentOS 專案宣布 CentOS Linux 8(RHEL 8 的重建版)將於 2021 年底終止支援,而原本公布的生命週期終止日期為 2029 年。該專案的未來轉向 CentOS Stream,公告將其描述為緊跟在當前 RHEL 版本之後,並作為 RHEL 的上游開發分支。CentOS Linux 7 則維持原定時程,於 2024 年 6 月 30 日達到生命週期終止。

問題不在於 CentOS Stream 本身,而在於原本預計 2029 年才終止的生命週期,在僅約一年的預告期內被提前了八年,且影響範圍涵蓋已部署的機器。Rocky Linux 與 AlmaLinux 正是因此而生。兩者皆於 2021 年出現,目標一致:提供一個免費的 RHEL 重建版,讓維運人員安裝後可穩定運作十年。

Rocky Linux 與 AlmaLinux 的共通點

請從此處開始,因為兩者的共通之處佔了絕大部分。兩者皆基於相同的 RHEL 上游原始碼重建,因此提供相同的軟體包版本、相同的 dnf 套件管理器、相同的 SELinux (Security Enhanced Linux) 政策、相同的 firewalld 前端以及相同的 systemd 單元配置。設定檔皆位於相同的路徑。為其中之一編寫的指南,只需更改名稱即可適用於另一者。

兩者皆緊密追蹤 RHEL 的次要版本發布。AlmaLinux 10.2 於 2026 年 5 月 26 日發布,Rocky Linux 10.2 則於 2026 年 5 月 28 日發布。9 系列的發布時間也在同一週內:AlmaLinux 9.8 為 2026 年 5 月 26 日,Rocky Linux 9.8 為 2026 年 5 月 27 日。早期版本之間的差距較大。AlmaLinux 10.0 於 2025 年 5 月 27 日推出,Rocky Linux 10.0 則於 2025 年 6 月 11 日推出。

此差距僅關於次要版本的發布媒體,而非安全性。兩個專案皆會在次要版本發布之間持續發布勘誤表,且各自擁有獨立的勘誤服務。.2 映像檔發布時間相差兩週,並不代表有兩週的時間沒有修補程式。

兩者皆承襲自 RHEL 的十年生命週期模型:約五年主動支援,隨後五年僅提供安全性維護。兩者的 10 系列皆支援至 2035 年。

各專案背後的營運單位為何?

Rocky Linux 隸屬於 Rocky Enterprise Software Foundation (RESF),這是一家由 CentOS 共同創辦人 Gregory Kurtzer 在德拉瓦州成立的公益公司。2022 年 11 月,RESF 通過了章程與組織規章,將控制權從創辦人手中移轉至該書面架構。由 Kurtzer 同時創辦的 CIQ 公司是其創始贊助商,並負責銷售 Rocky Linux 的商業支援服務。

AlmaLinux 隸屬於 AlmaLinux OS Foundation,這是一家於 2021 年 3 月在德拉瓦州成立的 501(c)(6) 非營利組織。其董事會成員由基金會會員選舉產生,任期四年且採交錯制;會議紀錄須於 14 天內公開,且章程規定無論贊助金額多寡,單一雇主不得持有超過一個董事會投票席次。CloudLinux 發起了此專案,並於 2024 年 10 月續簽了每年價值 100 萬美元的白金級贊助合約。其旗下的 TuxCare 部門負責銷售商業支援服務。

這兩種架構的設計目的,皆是為了防止單一公司重演 CentOS Linux 8 的事件,兩者在安全性上並無明顯優劣。您實際上可以檢驗的項目在兩者皆相同:您可以閱讀其組織章程,並明確指出是哪家機構在提供資金支持。

2023 年發生了什麼變化,這還有影響嗎?

2023 年 6 月 21 日,Red Hat 宣布 CentOS Stream 將成為公開 RHEL 相關原始碼發布的唯一儲存庫。在此之前,RHEL 套件原始碼會出現在 git.centos.org,這也是各個重建版(rebuilds)取得原始碼的地方。移除該來源並未終止這些重建專案,但確實迫使每個專案必須公開說明其取得原始碼的方式。

Rocky 於 2023 年 6 月 29 日做出回應。該專案基於「無人能阻止 GPL 軟體重新散布」的理由,從 Universal Base Image (UBI) 容器映像檔及按量計費的公有雲執行個體取得 RHEL 原始碼。2023 年 8 月,CIQ、Oracle 與 SUSE 共同成立了 Open Enterprise Linux Association (OpenELA),該組織會發布實現「錯誤對錯誤」(bug for bug)相容之企業級 Linux 重建版所需的原始碼。AlmaLinux 並非該協會成員。

AlmaLinux 於 2023 年 7 月 13 日做出回應,其內容代表了目標的轉變。該專案放棄了 1:1 的「錯誤對錯誤」相容性,改為採用 ABI 相容性。用該專案的話來說:「我們將不再受限於與 Red Hat 保持『錯誤對錯誤』的相容性,這意味著我們現在可以接受 Red Hat 發布週期之外的錯誤修復」。同一篇公告也告知使用者,日常使用中預期「幾乎不會有任何變化」。

三年過去了,原始碼來源的問題在實務上已經解決。自那時起,這兩個專案皆已發布了所有的 RHEL 次要版本,且時程相近。這場爭論最終留下的,是兩者在承諾事項上的差異。

Bug for bug 與 ABI 相容:兩者有何差異?

Rocky Linux 的首頁仍將該發行版描述為設計成與 RHEL 達到 100% bug for bug 相容。Bug for bug 意指重新編譯的成品會重現 RHEL 的行為,包含其缺陷在內。若 RHEL 中的某個套件帶有錯誤,Rocky Linux 的相同套件也會帶有該錯誤,因此 Red Hat 知識庫文章中的解決方案無需修改即可直接套用。

ABI 相容性的定義則更為狹窄且精確。ABI(應用程式二進位介面)是編譯後的程式所依賴的二進位合約,包含符號名稱、結構佈局、呼叫慣例與函式庫版本。只要維持該合約穩定,針對 RHEL 建置的二進位檔案就能載入並執行。此承諾並未提及要與 RHEL 的錯誤保持一致。

其結果很容易說明。AlmaLinux 可以在 Red Hat 修復錯誤之前先行修復,也可以保留 Red Hat 已移除的驅動程式。這兩者都是刻意讓其行為偏離 RHEL。Rocky Linux 依據設計不會採取上述任何行動,因此它能以認證所要求的精確方式保持可預測性。

因此問題在於您需要哪種承諾。您需要伺服器行為與 RHEL 完全一致,還是只需要讓為 RHEL 建置的軟體能順利執行?幾乎所有人都需要後者。

針對 RHEL 建置的廠商套件是否能安裝在兩者之上?

可以。針對 RHEL 9 或 RHEL 10 建置的 RPM 套件可以在兩者上安裝並執行,因為其 ABI 相容,且兩者向工具呈現自身的方式皆與 Red Hat 家族系統一致。負責此呈現作業的檔案為 /etc/os-release

NAME="AlmaLinux"
ID="almalinux"
ID_LIKE="rhel centos fedora"

Rocky Linux 的副本具有與 NAME="Rocky Linux"ID="rocky" 相同的結構,且其 ID_LIKE 中也列出了 rhel。讀取 ID_LIKE、找到 rhel 並採用 Red Hat 路徑的安裝腳本,在兩者上皆可運作。若腳本僅將 ID 與硬編碼的 rhelcentosfedora 清單進行比對,則在兩者上都會失敗,且失敗情形完全相同,並會顯示不支援該發行版的訊息。這是腳本本身的錯誤,而非兩套系統之間的差異。

真正的例外情況屬於商業層面,而非技術層面。支援矩陣(support matrix)是一份商業文件。廠商的套件可以在矩陣未列出的發行版上完美安裝並執行,但當系統故障時,廠商仍可能拒絕提供協助。若您有支付支援費用,請閱讀該矩陣並依其建議選擇。這是唯一由他人為您做決定的情況。

哪一個版本仍可在舊款 CPU 上執行?

RHEL 10 將 x86-64 微架構基準提升至 x86-64-v3。此層級對應 Intel Haswell 與 AMD Excavator 世代,並要求 AVX2 等指令集擴充。Rocky Linux 10 在此與 RHEL 保持一致,其文件明確指出 x86-64-v3 為基準,不再支援 v2 或更早的層級。

AlmaLinux 10 預設提供 v3 版本,並額外提供 x86-64-v2 版本,旨在讓使用舊硬體的用戶能持續獲得十年的安全性更新。AlmaLinux 同時為該架構重新編譯了 EPEL 套件,因為第三方 RHEL 10 套件皆以 v3 為目標。這是採用前必須注意的限制:v2 版本僅適用於預設套件集與 AlmaLinux 自家的 v2 EPEL,其餘套件皆需由使用者自行為 v2 重新編譯。

此問題在 VPS 上比自有硬體更為關鍵,因為您無法選擇宿主處理器。在較舊或較廉價的宿主機上,或當 Hypervisor 向 Guest 提供保守的 CPU 模型時,虛擬機器可能不會暴露 AVX2 指令集,即便實體晶片具備該功能。針對 v3 編譯的套件若呼叫處理器不支援的指令,將會執行失敗。在將伺服器叢集升級至 10 系列前,請務必確認執行個體實際暴露的指令集。這兩個發行版的 9 系列仍維持在 v2 層級。若使用 ARM 執行個體而非 x86 執行個體,則無此問題,因為微架構層級僅適用於 x86-64 架構。

AlmaLinux 10 在其他方面也展現了相同的靈活性。該專案重新啟用了上游已移除的超過 150 種裝置支援,包括舊款 RAID 與 iSCSI 控制器的 PCI ID,並重新啟用了伺服器與客戶端的 SPICE 支援。系統預設開啟 Frame pointers,這使得全系統效能分析得以運作。由於「錯誤相容」(bug for bug)的承諾禁止任何此類變更,因此 2023 年所做的決策,正是實現這些調整的關鍵。

如何遷移現有的 CentOS 或 RHEL 伺服器?

Rocky Linux 在其 rocky-tools 儲存庫中發布了轉換指令碼。migrate2rocky.sh 可將 Enterprise Linux 8 系統轉換為 Rocky Linux 8,而 migrate2rocky9.sh 則適用於 9 系列。每個指令碼僅能在單一主要版本內運作。截至 2026 年 8 月,該儲存庫尚未提供 Enterprise Linux 10 的對應指令碼,因此若要遷移至 Rocky Linux 10,必須重新安裝。

AlmaLinux 發布了 almalinux-deploy.sh,支援 Enterprise Linux 8、9 與 10,可將 CentOS Stream、Oracle Linux、RHEL、Rocky Linux、MiracleLinux 及 Virtuozzo Linux 進行轉換,涵蓋 x86_64、aarch64、ppc64le 與 s390x 架構。在開始之前,請務必詳閱其文件所載的限制。系統若需開機載入程式,僅支援 GRUB2;此外,自訂核心(如 Oracle 的 UEK,即 Unbreakable Enterprise Kernel)不會被自動移除,這會導致機器在啟用 Secure Boot 時無法開機。

若要進行主要版本間的跨越,AlmaLinux 維護了基於 Red Hat leapp 框架的 ELevate。其支援的遷移路徑包括:CentOS 7 升級至 EL8、AlmaLinux 8 或 CentOS Stream 8 升級至 EL9,以及 AlmaLinux 9 或 CentOS Stream 9 升級至 EL10。文件中將目標版本標示為 EL8、EL9 或 EL10,而非指定單一發行版,是因為您可以自行選擇最終要遷移至哪一個 Enterprise Linux。

上述任何工具都會重寫發行版套件並重新安裝系統的大部分元件。請務必先建立供應商層級的快照。正如 AlmaLinux 官方文件建議,請在 screentmux 內部執行轉換;若轉換過程中 SSH 連線中斷,機器將會進入一種您絕對不想透過救援主控台進行除錯的狀態。

那麼您該選擇哪一個?

對於典型的 VPS 工作負載,兩者皆可。它們安裝相同的套件,並在同一年達到支援終止期限。請挑選其中一個,並在您運行的所有伺服器上統一使用,無需再為此糾結。一致性比兩者之間的差異更有價值,因為混合環境會使您需要追蹤的映像檔與錯誤修正來源數量加倍。一旦您開始 同時管理多台 Linux 伺服器,這項成本將迅速增加。

例外情況相當少見,且每一項都取決於您個人偏好以外的因素。

  • 您的主機處理器比 Haswell 舊,或者虛擬化管理程式(hypervisor)對客體系統隱藏了 AVX2 指令集。AlmaLinux 10 提供 x86-64-v2 版本,而 Rocky Linux 10 則無。
  • 您付費的供應商在其支援矩陣中指定了特定發行版。請使用該版本。
  • 基於認證或稽核需求,您需要與 RHEL 完全相同的行為。Rocky Linux 的既定目標是達到「錯誤與錯誤相容」(bug for bug compatibility),而 AlmaLinux 的目標明確表示並非如此。
  • 您正在轉換現有的伺服器,而非建立全新的系統。AlmaLinux 目前的工具支援更多來源發行版與更多主要版本,包含 Enterprise Linux 10。

如果真正的問題是在 Enterprise Linux 與其他系統之間做選擇,那麼您選擇的是生命週期模型。Enterprise Linux 發行版提供您十年的套件集支援,無需規劃版本跳躍。Ubuntu 的長期支援(LTS)版本提供五年標準支援,並每兩年提供一次受支援的升級路徑,這屬於不同的協議,詳情請參閱 Ubuntu LTS 與過渡版本的比較。無論您安裝哪一個,機器啟動後的第一個小時看起來都一樣,因此在部署任何應用程式前,請先完成 新 VPS 的前十分鐘設定

FAQ

Rocky Linux 與 AlmaLinux 哪一個更接近 Red Hat Enterprise Linux?

以 Rocky Linux 的目標而言,它更接近。其官網將該發行版定位為與 RHEL 100% 錯誤相容(bug-for-bug compatible),意即目標是重現 RHEL 的所有行為,包含其缺陷。AlmaLinux 則於 2023 年 7 月 13 日宣布,其目標轉為 ABI(應用程式二進位介面)相容;這代表為 RHEL 建置的軟體可在其上執行,但底層程式碼可能包含 RHEL 尚未釋出的修正。對於執行一般伺服器軟體而言,兩者並無差異;但若需符合特定 RHEL 行為的認證,此區別即為關鍵。

我可以在不重新安裝的情況下從 Rocky Linux 切換到 AlmaLinux 嗎?

可以,此方向可行。AlmaLinux 的 almalinux-deploy.sh 將 Rocky Linux 8、9 與 10 列為支援的來源,同時也支援 CentOS Stream、Oracle Linux、RHEL 與 MiracleLinux。反向操作則受限較多:Rocky 的 rocky-tools 儲存庫僅提供 Enterprise Linux 8 與 9 的轉換指令碼,因此截至 2026 年 8 月,尚無直接升級至 Rocky Linux 10 的原地轉換路徑。在執行任何轉換前,請務必建立快照,並在斷線後仍能維持的連線階段中執行,因為此程序會替換發行版套件並重新安裝系統的大部分元件。

為 RHEL 建置的套件在這兩者上都能運作嗎?

可以,對於一般的 RPM 套件與第三方儲存庫皆然。這兩個發行版皆維持 RHEL 的應用程式二進位介面,且兩者皆在 /etc/os-release 中以 ID_LIKE="rhel centos fedora" 識別自身,因此檢查 Red Hat 家族系統的套件或安裝指令碼皆能正確執行。唯一的例外是商業層面而非技術層面:供應商可能僅支援其支援矩陣中列出的發行版,即便其套件在兩者上皆能安裝與執行。若您有購買支援服務,請依據該矩陣決定。

在使用舊款 CPU 的低成本 VPS 上,我該選擇哪一個?

若您需要 10 系列,請選擇 AlmaLinux。RHEL 10 將 x86-64 的基準提升至 v3 微架構層級,需要 Intel Haswell 或 AMD Excavator 等級以上的處理器,Rocky Linux 10 也遵循此基準。AlmaLinux 10 額外提供適用於舊硬體的 x86-64-v2 建置版本,並提供十年的安全性更新。在決定前,請先確認您的執行個體所暴露的 CPU 資訊,因為虛擬機器看到的 CPU 型號是由 Hypervisor 提供,未必等同於宿主機完整的指令集。兩者的 9 系列皆仍可在 v2 硬體上執行。