Rocky Linux hay AlmaLinux: chọn gì cho VPS?
Rocky Linux và AlmaLinux đều rebuild từ mã nguồn RHEL, hỗ trợ 10 năm. AlmaLinux 10 còn hỗ trợ CPU cũ hơn Intel Haswell, Rocky Linux 10 thì không.
Rocky Linux và AlmaLinux: câu trả lời ngắn gọn
Với hầu hết server, chọn Rocky Linux hay AlmaLinux đều không có lựa chọn sai. Cả hai dự án đều build lại cùng mã nguồn của Red Hat Enterprise Linux (RHEL), nên phát hành cùng các package và có cùng vòng đời hỗ trợ 10 năm. Những khác biệt vẫn tồn tại, nhưng chủ yếu nằm ở cách quản trị dự án và một số trường hợp đặc biệt, không nằm trong công việc vận hành server hằng ngày.
Khi không thể chọn ngẫu nhiên, có 2 yếu tố quyết định. AlmaLinux 10 vẫn phát hành bản build cho các processor cũ hơn Intel Haswell, còn Rocky Linux 10 thì không. Điều này quan trọng trên phần cứng VPS (virtual private server) giá rẻ hoặc cũ. AlmaLinux cũng cam kết tương thích ABI thay vì hành vi giống hệt, điều này quan trọng nếu bạn chạy một sản phẩm của vendor có ma trận hỗ trợ nghiêm ngặt.
Nguồn gốc của cả hai bản phân phối
Ngày 8 tháng 12 năm 2020, dự án CentOS thông báo CentOS Linux 8, bản rebuild của RHEL 8, sẽ kết thúc vào cuối năm 2021. Trước đó, bản này được công bố với thời hạn hỗ trợ đến năm 2029. Hướng đi tương lai của dự án là CentOS Stream. Trong cùng thông báo, CentOS Stream được mô tả là theo sát phía trước một bản phát hành RHEL hiện tại và đóng vai trò là nhánh phát triển upstream của RHEL. CentOS Linux 7 vẫn giữ lịch trình ban đầu và hết vòng đời vào ngày 30 tháng 6 năm 2024.
Vấn đề không nằm ở bản thân CentOS Stream. Vấn đề là vòng đời vốn kết thúc vào năm 2029 bị rút ngắn 8 năm, với thời gian báo trước khoảng 1 năm, trên những máy đã được cài đặt. Rocky Linux và AlmaLinux đều ra đời vì lý do đó. Cả hai xuất hiện vào năm 2021 và cùng hướng đến một mục tiêu: cung cấp bản rebuild miễn phí của RHEL để operator có thể cài đặt rồi giữ nguyên trong 10 năm. Lý do CentOS từng đảm nhận vai trò đó, cũng như quá trình một bản Red Hat Linux trở thành Fedora, RHEL và một chuỗi bản rebuild, được trình bày trong lịch sử đầy đủ hơn về Red Hat, CentOS, Rocky và AlmaLinux.
Điểm chung giữa Rocky Linux và AlmaLinux
Hãy bắt đầu từ phần dùng chung, vì đây là phần lớn nhất. Cả hai đều được build lại từ cùng source RHEL upstream, nên đều cung cấp cùng phiên bản package, cùng dnf package manager, cùng policy SELinux (security enhanced Linux), cùng firewalld front end và cùng bố cục unit systemd. Các file cấu hình nằm trong cùng đường dẫn. Hướng dẫn viết cho bản này cũng dùng được cho bản kia, chỉ cần đổi tên. Điều đó đúng với công việc thực tế: cài đặt Docker Engine thực hiện giống nhau trên cả hai, kể cả package podman chiếm docker command và việc SELinux relabel cần thiết cho bind mount. Firewall cũng hoạt động giống nhau, nên mở SSH và cổng web bằng firewalld dùng các firewall-cmd command giống hệt trên cả hai distribution, bao gồm flag --permanent quyết định rule có được giữ lại sau khi reboot hay không.
Cả hai đều bám sát các minor release của RHEL. AlmaLinux 10.2 được phát hành vào 26 May 2026 và Rocky Linux 10.2 vào 28 May 2026. Series 9 cũng phát hành trong cùng một tuần: AlmaLinux 9.8 vào 26 May 2026 và Rocky Linux 9.8 vào 27 May 2026. Trước đây, khoảng cách này lớn hơn. AlmaLinux 10.0 được phát hành vào 27 May 2025 và Rocky Linux 10.0 vào 11 June 2025.
Khoảng chênh lệch đó liên quan đến thời điểm phát hành minor release media, không liên quan đến bảo mật. Cả hai dự án đều liên tục phát hành errata giữa các minor release, mỗi dự án lấy từ errata service riêng. Việc image .2 xuất hiện muộn hơn 2 tuần không có nghĩa là hệ thống không nhận được patch trong 2 tuần. Trên cả hai distribution, việc lấy các errata đó mà không cần đăng nhập đều được thực hiện như nhau. Vì vậy, cấu hình dnf-automatic để cài security update theo lịch gồm các bước giống hệt nhau, bất kể bạn đã cài distribution nào. Cài một patch không đồng nghĩa với việc patch đó đã được áp dụng. Việc xác định update nào cần reboot và update nào chỉ cần restart service sử dụng cùng một lệnh needs-restarting trên cả hai distribution, vì cả hai đều kế thừa lệnh này từ cùng một RHEL package.
Cả hai cũng duy trì mô hình lifecycle mười năm được kế thừa từ RHEL: khoảng năm năm active support, sau đó là năm năm chỉ security maintenance. Series 10 trên cả hai distribution được hỗ trợ đến năm 2035.
Ai đứng sau mỗi dự án?
Rocky Linux thuộc Rocky Enterprise Software Foundation (RESF), một công ty phúc lợi công cộng tại Delaware do Gregory Kurtzer, đồng sáng lập CentOS, thành lập. Vào tháng 11 năm 2022, RESF đã phê chuẩn các điều lệ và hiến chương, chuyển quyền kiểm soát khỏi tay người sáng lập sang cơ cấu được quy định bằng văn bản đó. CIQ, công ty cũng do Kurtzer thành lập, là nhà tài trợ sáng lập và bán dịch vụ hỗ trợ thương mại cho Rocky Linux.
AlmaLinux thuộc AlmaLinux OS Foundation, một tổ chức phi lợi nhuận theo điều khoản 501(c)(6) được đăng ký tại Delaware và thành lập vào tháng 3 năm 2021. Hội đồng quản trị do các thành viên của foundation bầu theo nhiệm kỳ 4 năm luân phiên; biên bản họp được công bố trong vòng 14 ngày; và một điều khoản trong bylaws ngăn bất kỳ một công ty nào nắm giữ quá 1 ghế có quyền biểu quyết trong hội đồng, bất kể công ty đó tài trợ bao nhiêu. CloudLinux khởi động dự án và gia hạn gói tài trợ platinum vào tháng 10 năm 2024 với giá trị 1 triệu đô la mỗi năm. Bộ phận TuxCare của công ty bán dịch vụ hỗ trợ thương mại.
Cả 2 cơ cấu này được xây dựng để không một công ty nào có thể lặp lại sự việc đã xảy ra với CentOS Linux 8. Không cơ cấu nào rõ ràng an toàn hơn cơ cấu còn lại. Điều bạn thực sự có thể kiểm tra là giống nhau trong cả 2 trường hợp: bạn có thể đọc bylaws và xác định tổ chức đứng ra chi tiền.
Điều gì đã thay đổi trong năm 2023 và việc đó còn quan trọng không?
Ngày 21 June 2023, Red Hat thông báo CentOS Stream sẽ trở thành repository duy nhất chứa các bản phát hành source code liên quan đến RHEL dành cho công chúng. Trước đó, source package của RHEL xuất hiện trên git.centos.org, và các dự án rebuild lấy source từ đó. Việc gỡ feed này không khiến các bản rebuild dừng lại. Tuy nhiên, mỗi dự án buộc phải công khai cách lấy source.
Rocky đưa ra câu trả lời vào ngày 29 June 2023. Dự án lấy source của RHEL từ các container image Universal Base Image (UBI) và các instance public cloud trả phí theo mức sử dụng, dựa trên lập luận rằng "không ai có thể ngăn việc phân phối lại phần mềm GPL". Vào August 2023, CIQ, Oracle và SUSE thành lập Open Enterprise Linux Association (OpenELA), tổ chức phát hành các source cần thiết để rebuild Enterprise Linux tương thích theo từng bug. AlmaLinux không phải là thành viên.
AlmaLinux đưa ra câu trả lời vào ngày 13 July 2023, nhưng câu trả lời đó là thay đổi mục tiêu. Dự án từ bỏ khả năng tương thích 1:1 theo từng bug và chuyển sang khả năng tương thích ABI. Theo chính dự án, "chúng tôi sẽ không còn bị ràng buộc phải tương thích với Red Hat theo từng bug, và điều đó có nghĩa là giờ đây chúng tôi có thể nhận các bản sửa bug nằm ngoài chu kỳ phát hành của Red Hat". Bài đăng đó cũng cho người dùng biết rằng trong quá trình sử dụng hằng ngày sẽ có "rất ít thay đổi".
Sau 3 năm, vấn đề nguồn source trên thực tế đã được giải quyết. Cả hai dự án đều đã phát hành mọi bản minor release của RHEL kể từ đó, với lịch phát hành tương tự nhau. Điều còn lại sau tranh luận là sự khác biệt trong cam kết mà mỗi dự án đưa ra.
Tương thích “bug for bug” hay tương thích ABI: khác nhau thế nào?
Trang chủ của Rocky Linux vẫn mô tả bản phân phối này được thiết kế để tương thích 100% “bug for bug” với RHEL. “Bug for bug” nghĩa là bản rebuild tái hiện hành vi của RHEL, bao gồm cả các lỗi của RHEL. Nếu một package trong RHEL có lỗi, package tương ứng trong Rocky Linux cũng có lỗi đó. Vì vậy, workaround trong bài viết của Red Hat knowledge base có thể áp dụng mà không cần điều chỉnh.
Tương thích ABI hẹp hơn và chính xác hơn. ABI, hay application binary interface, là contract nhị phân mà một chương trình đã compile phụ thuộc vào: tên symbol, layout của structure, calling convention và version của library. Khi giữ contract đó ổn định, binary được build cho RHEL có thể load và chạy. Cam kết này không nói rằng các lỗi của RHEL cũng phải được giữ nguyên.
Hệ quả rất rõ. AlmaLinux có thể sửa một lỗi trước Red Hat, và có thể giữ lại một driver mà Red Hat đã loại bỏ. Cả hai việc này đều cố ý làm hành vi của AlmaLinux khác RHEL. Rocky Linux sẽ không làm như vậy theo thiết kế. Vì thế, hành vi của Rocky Linux vẫn predictable theo đúng cách mà certification yêu cầu.
Vì vậy, câu hỏi là bạn cần cam kết nào. Bạn cần server hoạt động giống hệt RHEL, hay cần phần mềm được build cho RHEL chạy được trên đó? Hầu hết mọi người cần lựa chọn thứ hai.
Các package của vendor được build cho RHEL có cài được trên cả hai hệ thống không?
Có. Một RPM được build cho RHEL 9 hoặc RHEL 10 sẽ cài đặt và chạy trên cả hai hệ thống vì ABI tương thích, đồng thời cả hai distribution đều khai báo với các công cụ theo cách mà một hệ thống thuộc họ Red Hat thường làm. File thực hiện việc khai báo đó là /etc/os-release.
NAME="AlmaLinux"
ID="almalinux"
ID_LIKE="rhel centos fedora"Bản sao của Rocky Linux có cùng cấu trúc với NAME="Rocky Linux" và ID="rocky", đồng thời cũng liệt kê rhel trong ID_LIKE. Một installer script đọc ID_LIKE, tìm thấy rhel rồi chọn nhánh Red Hat sẽ chạy trên cả hai hệ thống. Một script chỉ so sánh ID với danh sách hard code gồm rhel, centos và fedora sẽ fail trên cả hai hệ thống. Nó fail theo cùng một cách trên mỗi hệ thống, với thông báo distribution không được hỗ trợ. Đây là bug trong script, không phải khác biệt giữa hai hệ thống.
Ngoại lệ thực sự liên quan đến thương mại, không phải kỹ thuật. Support matrix là tài liệu kinh doanh. Package của vendor có thể cài đặt và chạy hoàn toàn bình thường trên một distribution không được nêu trong matrix, nhưng vendor vẫn có thể từ chối hỗ trợ khi package gặp lỗi. Nếu bạn trả phí cho dịch vụ hỗ trợ đó, hãy đọc matrix và để nó quyết định thay bạn. Đây là trường hợp duy nhất mà quyết định đã được đưa ra sẵn.
Bản nào vẫn chạy trên CPU cũ?
RHEL 10 nâng mức kiến trúc vi mô cơ sở của x86-64 lên x86-64-v3. Mức này tương ứng với thế hệ Haswell của Intel và Excavator của AMD, đồng thời yêu cầu các phần mở rộng tập lệnh như AVX2. Rocky Linux 10 cũng làm theo RHEL ở điểm này. Tài liệu của Rocky Linux nêu rõ x86-64-v3 là mức cơ sở, còn v2 và các mức cũ hơn không còn được hỗ trợ.
AlmaLinux 10 dùng bản build v3 làm mặc định và bổ sung một bản build x86-64-v2 riêng. Theo cách diễn đạt của dự án, mục tiêu là để người dùng có phần cứng cũ hơn tiếp tục nhận security update trong 10 năm nữa. AlmaLinux cũng rebuild các package EPEL cho kiến trúc này, vì package RHEL 10 của bên thứ ba nhắm đến v3. Đây là điểm cần biết trước khi dựa vào lựa chọn này: bản build v2 phù hợp với bộ package mặc định cùng EPEL v2 do AlmaLinux cung cấp; mọi package khác phải do bạn rebuild cho v2.
Điều này quan trọng hơn trên VPS so với phần cứng do bạn sở hữu, vì bạn không chọn được CPU của host. Trên các host cũ hoặc giá rẻ, hoặc khi hypervisor cung cấp cho guest một CPU model có tính tương thích bảo thủ, máy ảo có thể không expose AVX2 ngay cả khi chip vật lý có hỗ trợ. Khi đó, các package được build cho v3 sẽ gọi đến những instruction mà processor không có và bị lỗi. Hãy kiểm tra chính xác instance của bạn expose những gì trước khi triển khai cả một fleet lên dòng 10. Dòng 9 của cả hai distribution vẫn chạy ở mức v2. Trên instance ARM thay vì instance x86, vấn đề này không xuất hiện, vì các mức kiến trúc vi mô là khái niệm riêng của x86-64.
AlmaLinux 10 cũng cho thấy sự linh hoạt tương tự ở các thành phần khác. Dự án đã bật lại hỗ trợ cho hơn 150 thiết bị bị upstream loại bỏ, gồm các PCI ID dành cho những RAID controller và iSCSI controller cũ hơn, đồng thời bật lại SPICE cho cả server và client. Frame pointer được bật mặc định, nhờ đó có thể profiling trên toàn hệ thống. Cam kết không thay đổi bất kỳ hành vi nào so với upstream sẽ ngăn mọi điều chỉnh như vậy, nên quyết định được đưa ra vào năm 2023 đã tạo đủ dư địa để thực hiện chúng.
Cách di chuyển một server CentOS hoặc RHEL hiện có?
Rocky Linux phát hành các script chuyển đổi trong repository rocky-tools. migrate2rocky.sh chuyển một hệ thống Enterprise Linux 8 sang Rocky Linux 8, còn migrate2rocky9.sh thực hiện việc tương tự cho dòng 9. Mỗi script chỉ hoạt động trong cùng một major version. Tính đến tháng 8 năm 2026, repository chưa có script tương đương cho Enterprise Linux 10. Vì vậy, để chuyển sang Rocky Linux 10, bạn phải cài đặt lại.
AlmaLinux phát hành almalinux-deploy.sh. Công cụ này hỗ trợ Enterprise Linux 8, 9 và 10, đồng thời chuyển đổi từ CentOS Stream, Oracle Linux, RHEL, Rocky Linux, MiracleLinux và Virtuozzo Linux trên các kiến trúc x86_64, aarch64, ppc64le và s390x. Bạn nên đọc kỹ các giới hạn được tài liệu nêu trước khi bắt đầu. Công cụ chỉ hỗ trợ boot loader GRUB2 trên các hệ thống cần boot loader. Công cụ cũng không tự động gỡ custom kernel như UEK (unbreakable enterprise kernel) của Oracle. Điều này có thể khiến máy không boot được khi bật Secure Boot.
Để chuyển giữa các major version, AlmaLinux duy trì ELevate, được xây dựng trên leapp framework của Red Hat. Các lộ trình được tài liệu hỗ trợ gồm CentOS 7 sang EL8, AlmaLinux 8 hoặc CentOS Stream 8 sang EL9, và AlmaLinux 9 hoặc CentOS Stream 9 sang EL10. Tài liệu dùng EL8, EL9 hoặc EL10 để chỉ phiên bản đích thay vì nêu tên một distribution cụ thể, vì bạn tự chọn Enterprise Linux sẽ dùng sau khi chuyển đổi.
Mọi công cụ trên đều thay thế các release package và cài lại một phần lớn của hệ thống. Trước tiên, hãy tạo snapshot trên provider. Chạy quá trình chuyển đổi bên trong screen hoặc tmux theo khuyến nghị trong tài liệu của AlmaLinux. Nếu kết nối SSH bị ngắt giữa chừng, máy có thể rơi vào trạng thái mà bạn không muốn phải debug từ rescue console.
Vậy nên chọn bản nào?
Với workload VPS thông thường, bản nào cũng được. Cả hai cài cùng các package và đều hết hỗ trợ trong cùng một năm. Hãy chọn một bản, dùng nó trên mọi server bạn vận hành và không cần bận tâm thêm. Tính nhất quán quan trọng hơn khác biệt giữa hai bản, vì một fleet hỗn hợp sẽ tăng gấp đôi số image và nguồn errata bạn phải theo dõi. Chi phí đó tăng nhanh khi bạn quản lý nhiều server Linux cùng lúc.
Các trường hợp ngoại lệ rất ít, và mỗi trường hợp đều được quyết định bởi một yếu tố nằm ngoài sở thích của bạn.
- Processor của host cũ hơn Haswell, hoặc hypervisor ẩn AVX2 khỏi guest. AlmaLinux 10 có build x86-64-v2. Rocky Linux 10 thì không.
- Một vendor mà bạn trả phí chỉ định một distribution trong support matrix của họ. Hãy dùng distribution đó.
- Bạn cần hành vi giống hệt RHEL để đáp ứng chứng nhận hoặc audit. Mục tiêu được Rocky Linux công bố là tương thích bug-for-bug, còn mục tiêu của AlmaLinux thì nói rõ là không.
- Bạn đang chuyển đổi một server đang chạy thay vì tạo server mới. Tool của AlmaLinux hiện hỗ trợ nhiều distribution nguồn và nhiều major version hơn, bao gồm Enterprise Linux 10.
Nếu câu hỏi thực sự là chọn Enterprise Linux hay một nền tảng khác, thì thứ bạn đang chọn là mô hình vòng đời. Một distribution Enterprise Linux cho bạn 10 năm sử dụng trên cùng một bộ package mà không phải lên kế hoạch chuyển version. Các bản Ubuntu long term support cho bạn 5 năm standard support, với đường nâng cấp được hỗ trợ sau mỗi 2 năm. Đây là một lựa chọn khác và được trình bày trong phần so sánh Ubuntu LTS và các bản interim. Dù bạn cài bản nào, giờ đầu tiên trên máy cũng giống nhau. Vì vậy, hãy làm theo 10 phút đầu tiên trên một VPS mới trước khi đưa bất kỳ thứ gì lên máy.
FAQ
Rocky Linux hay AlmaLinux gần với Red Hat Enterprise Linux hơn?
Rocky Linux, theo mục tiêu mà dự án này công bố. Trang chủ mô tả distribution này được thiết kế để tương thích 100% với RHEL theo từng bug. Điều đó có nghĩa là Rocky Linux cố tái hiện hành vi của RHEL, bao gồm cả các lỗi của RHEL. Ngày 13 July 2023, AlmaLinux thông báo sẽ chuyển sang mục tiêu tương thích ABI (application binary interface). Vì vậy, software được build cho RHEL vẫn chạy trên AlmaLinux, nhưng code bên dưới có thể đã bao gồm các bản sửa lỗi mà RHEL chưa release. Để chạy server software thông thường, hai distribution này tương đương nhau. Nếu chứng chỉ yêu cầu hành vi của RHEL, khác biệt này là điểm cốt lõi.
Có thể chuyển từ Rocky Linux sang AlmaLinux mà không cần cài lại không?
Có, theo chiều đó. almalinux-deploy.sh của AlmaLinux liệt kê Rocky Linux 8, 9 và 10 trong số các nguồn được hỗ trợ, cùng với CentOS Stream, Oracle Linux, RHEL và MiracleLinux. Chiều ngược lại bị giới hạn hơn: repository rocky-tools của Rocky chỉ cung cấp conversion script cho Enterprise Linux 8 và 9. Vì vậy, tính đến August 2026, không có cách chuyển tại chỗ sang Rocky Linux 10. Hãy tạo snapshot trước khi conversion và chạy thao tác này từ một session không bị kết thúc khi connection bị ngắt, vì quá trình này sẽ thay thế các release package và cài lại phần lớn hệ thống.
Package được build cho RHEL có chạy trên cả hai distribution không?
Có, với các RPM package thông thường và third-party repository. Cả hai distribution đều giữ application binary interface của RHEL. Cả hai cũng tự nhận diện bằng ID_LIKE="rhel centos fedora" trong /etc/os-release. Vì vậy, package hoặc installer script kiểm tra xem hệ thống có thuộc họ Red Hat hay không sẽ chọn đúng nhánh xử lý. Ngoại lệ nằm ở chính sách hỗ trợ thương mại, không phải vấn đề kỹ thuật: vendor có thể chỉ hỗ trợ các distribution được nêu trong support matrix, dù package của họ vẫn cài đặt và chạy trên cả hai. Nếu bạn trả phí hỗ trợ, hãy căn cứ vào support matrix.
Nên dùng distribution nào trên VPS giá rẻ có CPU cũ?
AlmaLinux, nếu bạn muốn dùng series 10. RHEL 10 nâng baseline x86-64 lên mức vi kiến trúc v3. Mức này yêu cầu CPU tương đương Intel Haswell hoặc AMD Excavator, và Rocky Linux 10 cũng theo baseline đó. AlmaLinux 10 cung cấp thêm build x86-64-v2 cho hardware cũ hơn, kèm 10 năm security update. Hãy kiểm tra instance của bạn expose những gì trước khi quyết định, vì virtual machine nhìn thấy model CPU do hypervisor cung cấp, không phải lúc nào cũng thấy đầy đủ instruction set của host. Series 9 của cả hai distribution vẫn chạy trên hardware v2.