SSD Nodes Learn 🎉 VPS từ $5.50/tháng
Hướng dẫn Matt ConnorBởi Matt Connor

Từ Red Hat đến CentOS, Rocky Linux và AlmaLinux

Tìm hiểu Red Hat Linux tách thành Fedora và RHEL, lý do CentOS tồn tại, thay đổi CentOS Stream năm 2020 và nguồn gốc Rocky Linux, AlmaLinux.

Vì sao có hai bản rebuild miễn phí của Red Hat Enterprise Linux

Rocky Linux và AlmaLinux tồn tại vì Red Hat đã kết thúc CentOS Linux nhiều năm trước thời điểm mà người dùng dự kiến sử dụng. CentOS là bản rebuild miễn phí, không mang thương hiệu của Red Hat Enterprise Linux (RHEL), đồng thời có thời gian hỗ trợ dài tương đương. Ngày 8 tháng 12 năm 2020, CentOS Project thông báo CentOS Linux 8 sẽ dừng vào cuối năm 2021 thay vì tiếp tục đến năm 2029. Hai dự án thay thế được công bố trong vòng một tuần sau bài đăng đó, và cả hai vẫn được phát hành đến nay.

Thông báo này chỉ có ý nghĩa khi bạn biết CentOS là gì và vì sao một bản sao miễn phí của sản phẩm thương mại lại được phép tồn tại. Câu chuyện bắt đầu vào năm 2003.

Red Hat Linux đã đi về đâu vào năm 2003: Fedora và RHEL

Sản phẩm ban đầu của Red Hat là một bản phân phối đóng hộp có tên Red Hat Linux. Bản phát hành đầu tiên không còn ở trạng thái beta ra mắt vào tháng 5 năm 1995. Bản cuối cùng, Red Hat Linux 9, được phát hành vào ngày 31 tháng 3 năm 2003 và hết vòng đời vào ngày 30 tháng 4 năm 2004.

Đến lúc đó, Red Hat đã bán sản phẩm cho các công ty. Các công ty cần một thứ mà sản phẩm đóng hộp không thể cung cấp: một phiên bản giữ nguyên trong nhiều năm, có bản sửa lỗi bảo mật và không tự ý nâng cấp ngoài dự kiến. Red Hat xây dựng sản phẩm đó dưới tên Red Hat Linux Advanced Server. Sản phẩm này trở thành Red Hat Enterprise Linux 2.1 vào tháng 3 năm 2002. RHEL được bán dưới dạng subscription, tính phí theo từng system mỗi năm. Subscription cung cấp bản cập nhật và hỗ trợ. Nó cũng cung cấp chứng nhận: các nhà cung cấp phần cứng và phần mềm thương mại kiểm thử sản phẩm riêng với RHEL, rồi nêu rõ RHEL trong điều khoản hỗ trợ của họ.

Dòng sản phẩm miễn phí khi đó không có vai trò rõ ràng, nên Red Hat đã hợp nhất dòng này với một dự án cộng đồng bên ngoài. Fedora Project và Red Hat Project chính thức hợp nhất vào ngày 22 tháng 9 năm 2003. Fedora trở thành bản phân phối miễn phí, phát triển nhanh, nơi các tính năng mới được đưa vào trước. RHEL trở thành bản phân phối trả phí, phát triển chậm hơn và được xây dựng từ Fedora. Từ đó đến nay, quá trình phát triển vẫn đi theo hướng này: Fedora dẫn đầu, RHEL theo sau.

Việc tách hai dòng sản phẩm tạo ra một khoảng trống. Nhiều người muốn vòng đời mười năm của RHEL nhưng không muốn trả phí cho từng server. Fedora không thể đáp ứng nhu cầu đó vì mỗi bản phát hành Fedora chỉ được hỗ trợ khoảng mười ba tháng.

Vì sao có thể rebuild RHEL miễn phí?

RHEL gần như được xây dựng hoàn toàn từ phần mềm có giấy phép tự do, trong đó GNU General Public License (GPL) là giấy phép quan trọng ở đây. GPL yêu cầu bất kỳ ai nhận được binary cũng phải có thể lấy source tương ứng. Red Hat thực hiện nghĩa vụ này công khai bằng cách xuất bản source RPM (SRPM, source đã được đóng gói của từng thành phần) trên một server công khai, sau đó trong các repository git.centos.org.

Source không phải là toàn bộ sản phẩm. Có 2 phần của RHEL chưa bao giờ được phép sao chép tự do. Trademark Red Hat thuộc về Red Hat, nên bên rebuild phải xóa mọi logo và mọi chỗ nhắc đến tên này. Các dịch vụ trả phí cũng vẫn nằm sau paywall: server cập nhật, hợp đồng hỗ trợ, quy trình chứng nhận và errata mô tả từng bản sửa lỗi.

Cách thực hiện khá dễ mô tả. Lấy source đã được công bố, xóa branding, rebuild rồi công bố kết quả. Mục tiêu là tương thích bug-for-bug, nghĩa là bản rebuild có cùng patch và cùng hành vi với RHEL, bao gồm cả bug. Độ chính xác này rất quan trọng vì phần mềm thương mại được chứng nhận trên RHEL. Nếu bản rebuild hoạt động giống hệt, phần mềm đó sẽ chạy trên bản rebuild, nhưng vendor sẽ không hỗ trợ nó trong môi trường đó.

CentOS dùng để làm gì?

CentOS là viết tắt của Community ENTerprise Operating System. Dự án này phát triển từ một dự án có tên cAos Linux, do Gregory Kurtzer khởi xướng vào năm 2002. Bản phát hành CentOS đầu tiên xuất hiện vào ngày 14 tháng 5 năm 2004, mang số phiên bản 2 vì được xây dựng từ RHEL 2.1AS.

Điểm hấp dẫn của CentOS là vòng đời hỗ trợ. Mỗi bản phát hành CentOS bám theo thời hạn hỗ trợ 10 năm của RHEL và không tốn phí. Các công ty hosting dùng CentOS làm image mặc định, các trường đại học chạy nó trên cluster, các nhà cung cấp appliance tích hợp nó vào sản phẩm, còn các control panel mặc định hỗ trợ nó. Nếu bạn thuê một virtual private server trong khoảng từ năm 2006 đến năm 2020, CentOS gần như luôn có trong danh sách hệ điều hành và thường là lựa chọn mặc định.

CentOS Linux 7 cho thấy mô hình này hoạt động đúng như cam kết. Bản này được phát hành vào ngày 7 tháng 7 năm 2014 và được hỗ trợ bảo mật đến ngày 30 tháng 6 năm 2024, thiếu vài ngày so với trọn 10 năm. Thành tích đó khiến mọi người yên tâm xây dựng kế hoạch 10 năm dựa trên bản phát hành tiếp theo.

Điều gì thay đổi khi CentOS gia nhập Red Hat vào năm 2014

Ngày 7 tháng 1 năm 2014, Red Hat và CentOS Project thông báo họ sẽ hợp tác chặt chẽ. Giám đốc công nghệ của Red Hat khi đó, Brian Stevens, và trưởng nhóm phát triển CentOS, Karanbir Singh, cùng phát biểu trong thông báo. Red Hat đóng góp nhân sự và hạ tầng, một số nhà phát triển cốt lõi của CentOS trở thành nhân viên Red Hat, và dự án có một hội đồng quản trị chính thức.

Đối với người dùng, những tác động thấy rõ đều tích cực. Các bản build được phát hành nhanh hơn sau mỗi bản phát hành RHEL. Mã nguồn được chuyển sang git.centos.org. Các Special Interest Group tạo thêm nội dung dựa trên bản phân phối cơ sở, chẳng hạn như các stack ảo hóa và lưu trữ.

Thay đổi về cấu trúc ít được chú ý hơn, nhưng lại là điều quan trọng sau sáu năm. Dự án rebuild RHEL giờ được công ty bán RHEL cấp kinh phí và bố trí phần lớn nhân sự. Thỏa thuận đó không buộc Red Hat phải duy trì hoạt động rebuild.

Vì sao CentOS Linux 8 kết thúc vào năm 2021?

CentOS Linux 8 được phát hành vào ngày 24 tháng 9 năm 2019. RHEL 8 được hỗ trợ đến ngày 31 tháng 5 năm 2029, nên nhiều người hiểu rằng CentOS Linux 8 cũng sẽ được hỗ trợ đến năm 2029.

Ngày 8 tháng 12 năm 2020, Rich Bowen đăng bài “CentOS Project shifts focus to CentOS Stream” trên blog CentOS. CentOS Linux 8 sẽ kết thúc vào ngày 31 tháng 12 năm 2021. CentOS Linux 7 vẫn giữ nguyên thời hạn ban đầu là ngày 30 tháng 6 năm 2024. Lý do được đưa ra là tương lai của dự án nằm ở CentOS Stream.

ChartCentOS Linux 8 support window in years, announced at release versus delivered
The data behind this chart
[
  {
    "label": "Announced at release, September 2019",
    "support_window": 9.7
  },
  {
    "label": "Delivered, ended December 2021",
    "support_window": 2.3
  }
]

CentOS Linux 8 được phát hành với thời hạn hỗ trợ dự kiến khoảng 9.7 năm. Thời gian hỗ trợ thực tế chỉ khoảng 2.3. Không có tính năng nào bị loại bỏ và chất lượng code không bị giảm. Điều người dùng mất là một mốc thời gian mà họ đã dựa vào, trên các máy đang chạy production, với chỉ hơn một năm để chuẩn bị. Di chuyển một hệ điều hành trên toàn bộ fleet là công việc cần lập kế hoạch. Trong trường hợp này, đó trở thành công việc phát sinh ngoài kế hoạch nhưng vẫn có deadline.

CentOS Stream chính xác là gì?

Phần lớn các bài viết vẫn mô tả CentOS Stream là sản phẩm đã thay thế CentOS Linux. Mốc thời gian đúng, nhưng mô tả này sai vì hai sản phẩm đi theo hai hướng ngược nhau.

CentOS Linux nằm downstream của RHEL. Red Hat phát hành một bản minor của RHEL, sau đó CentOS mới build lại bản đó. Bản sao luôn xuất hiện sau bản gốc.

CentOS Stream nằm upstream của RHEL. Đây là nhánh công khai nơi bản minor tiếp theo của RHEL được xây dựng. Thay đổi đi từ Fedora vào CentOS Stream rồi sang RHEL, nên một package xuất hiện trên Stream trước và sau đó mới được đưa vào bản minor của RHEL. Stream được cập nhật liên tục, nên không đứng yên giữa các bản minor như một bản RHEL đã phát hành.

Điều này giúp Stream thực hiện những vai trò mà CentOS Linux không thể làm. Nếu bạn duy trì phần mềm phải tiếp tục hoạt động trên bản minor tiếp theo của RHEL, Stream cho bạn thấy bản đó trước nhiều tháng. Nếu bạn muốn sửa một bug trong RHEL, Stream là nơi bạn có thể gửi patch. Một bản rebuild downstream không cung cấp khả năng này. Lập luận của Red Hat vào năm 2020 là cách này biến một bản sao thụ động thành một distribution mà cộng đồng thực sự có thể thay đổi.

Stream vẫn là một sản phẩm thay thế kém cho thứ mà người dùng CentOS Linux mong muốn, và thời hạn hỗ trợ cho thấy điều đó. CentOS Stream 10 được phát hành vào ngày December 12, 2024 với thời hạn khoảng năm năm, trong khi RHEL có thời hạn mười năm. Một team vận hành fleet theo kế hoạch mười năm không nhận được phiên bản nhanh hơn của cùng kế hoạch đó. Họ nhận được một sản phẩm khác với mục đích khác.

Nguồn gốc của Rocky Linux và AlmaLinux

Rocky Linux được công bố vào ngày 8 tháng 12 năm 2020, cùng ngày với bài đăng về CentOS, bởi Gregory Kurtzer, người đã khởi xướng dự án mà CentOS phát triển từ đó. Tên gọi này nhằm tưởng nhớ Rocky McGaugh, một trong những người đồng sáng lập CentOS thời kỳ đầu. Dự án do Rocky Enterprise Software Foundation (RESF) quản lý, còn nhà tài trợ thương mại chính là CIQ, công ty do Kurtzer thành lập. Bản release candidate xuất hiện vào cuối tháng 4 năm 2021, rồi bản stable đầu tiên, Rocky Linux 8.4 "Green Obsidian", được phát hành vào ngày 21 tháng 6 năm 2021.

AlmaLinux xuất phát từ CloudLinux, một công ty trước đó đã bán một bản phân phối bắt nguồn từ RHEL cho các nhà cung cấp dịch vụ hosting. Ngày 15 tháng 12 năm 2020, CloudLinux cam kết chi hơn một triệu đô la Mỹ mỗi năm cho một bản rebuild RHEL miễn phí, khi đó có codename là Project Lenix. Tên AlmaLinux được công bố vào ngày 12 tháng 1 năm 2021, bản beta xuất hiện vào ngày 1 tháng 2, còn AlmaLinux 8.3 "Purple Manul" được phát hành vào ngày 30 tháng 3 năm 2021. Cũng trong ngày đó, quyền sở hữu được chuyển cho AlmaLinux OS Foundation, một tổ chức phi lợi nhuận nắm giữ trademark và điều hành board của dự án.

Hai dự án giải quyết cùng một vấn đề nhưng có mô hình quản trị khác nhau. Rocky xuất phát từ người đã khởi xướng CentOS, cùng một công ty được xây dựng xoay quanh dự án này. AlmaLinux xuất phát từ một công ty đã chuyển trademark cho một foundation ngay ngày bản phát hành đầu tiên được phát hành. Trong 2 năm, khác biệt trên thực tế không lớn, và cả hai đều cung cấp thứ mà người dùng CentOS Linux đã mất.

Red Hat đã thay đổi gì về source RHEL trong năm 2023

Ngày 21 tháng 6 năm 2023, Mike McGrath, khi đó là phó chủ tịch phụ trách các nền tảng cốt lõi tại Red Hat, đã công bố bài viết “Tiếp tục phát triển CentOS Stream”. Câu quan trọng là CentOS Stream sẽ trở thành repository duy nhất chứa các bản phát hành source code công khai liên quan đến RHEL. Red Hat không còn đẩy source RHEL lên git.centos.org nữa.

Khách hàng và đối tác của Red Hat vẫn truy cập được source RHEL thông qua customer portal. Điều này đáp ứng GPL vì nghĩa vụ cung cấp source áp dụng cho những người đã nhận binary. Thay đổi nằm ở kênh công khai. Bản ghi theo từng package, cho biết chính xác những gì đã được phát hành trong một minor release cụ thể của RHEL, không còn được đăng công khai. CentOS Stream lại nằm trước RHEL thay vì đồng cấp với RHEL. Vì vậy, một dự án rebuild chỉ dựa trên Stream không thể tái tạo chính xác một minor version đã phát hành.

Quan điểm của Red Hat là Stream nằm ở upstream và source công khai nên thuộc về upstream. Quan điểm của các dự án rebuild là thay đổi này đã loại bỏ phần tài liệu nền tảng mà họ dựa vào từ năm 2004. Cả hai mô tả đều chính xác. Bất đồng nằm ở mục đích của license, không phải ở nội dung của license.

Các bản build đáp lại thế nào và OpenELA là gì

Rocky Linux phản hồi đầu tiên. Trong một bài đăng ngày June 29, 2023, dự án cho biết sẽ tiếp tục lấy source của RHEL qua những nguồn không yêu cầu thỏa thuận bổ sung: các container image Universal Base Image (UBI) của Red Hat và các instance RHEL trả theo mức sử dụng trên public cloud. Bất kỳ ai nhận được các binary đó đều có quyền GPL đối với source tương ứng. Rocky vẫn giữ mục tiêu bám sát từng bản release của RHEL.

AlmaLinux phản hồi theo hướng khác. Vào July 2023, board do benny Vasquez chủ trì đã từ bỏ mục tiêu tương thích một-một với RHEL và chuyển sang tương thích application binary interface (ABI). Tương thích ABI nghĩa là phần mềm được build cho RHEL có thể chạy trên AlmaLinux mà không cần chỉnh sửa, dù hai bên không phải là các bản build giống hệt nhau. Đổi lại, AlmaLinux có thêm quyền tự chủ. AlmaLinux có thể release bản sửa lỗi trước RHEL và tiếp tục hỗ trợ phần cứng mà RHEL đã ngừng hỗ trợ.

Hai vendor lớn hơn cũng hành động. Ngày July 11, 2023, SUSE cho biết sẽ fork RHEL được cung cấp công khai và đầu tư hơn ten million US dollars vào một distribution tương thích. Oracle, hãng đã cung cấp Oracle Linux như một sản phẩm tương thích với RHEL từ 2006, cũng công bố phản hồi riêng trong cùng tuần.

Ngày August 10, 2023, CIQ, Oracle và SUSE công bố Open Enterprise Linux Association (OpenELA). Đây là một hiệp hội thương mại với một nhiệm vụ: công bố source của enterprise Linux để các distribution tương thích với RHEL có thể tiếp tục được build, đồng thời giữ cho những source đó được tự do phân phối lại. Tháng November 2023, hiệp hội công bố các tài liệu quản trị và cho biết code đã được cung cấp. AlmaLinux không tham gia. Điều này phù hợp với quyết định chuyển sang ABI, vì AlmaLinux không còn cần một nguồn source chính xác theo từng bản nữa.

Bạn nên chạy bản nào trên server hiện nay?

ChartSupport window in years published by each project for its version 10 release, as of August 2026
The data behind this chart
[
  {
    "distro": "RHEL 10",
    "support_window": 10,
    "notes": "Released May 2025, supported to May 2035"
  },
  {
    "distro": "AlmaLinux 10",
    "support_window": 10,
    "notes": "Released May 2025, supported to May 2035"
  },
  {
    "distro": "Rocky Linux 10",
    "support_window": 10,
    "notes": "Released June 2025, supported to May 2035"
  },
  {
    "distro": "CentOS Stream 10",
    "support_window": 5,
    "notes": "Released December 2024, supported to May 2030"
  }
]

Các bản phát hành version 10 cho thấy hướng phát triển đã đi đến đâu. RHEL 10 được phát hành vào ngày 20 tháng 5, 2025, AlmaLinux 10 "Purple Lion" vào ngày 27 tháng 5, 2025 và Rocky Linux 10 "Red Quartz" vào ngày 11 tháng 6, 2025. Mỗi bản đều công bố 10 năm hỗ trợ. CentOS Stream 10 công bố 5 năm, cho thấy rõ đây là development branch chứ không phải một mục tiêu cố định lâu dài.

Các project cũng đã bắt đầu khác nhau theo những cách có thể khiến bạn gặp lỗi. RHEL 10 nâng yêu cầu phần cứng tối thiểu lên x86-64-v3, một mức microarchitecture cần các instruction mới hơn như AVX2. Rocky Linux 10 theo yêu cầu này và bỏ x86-64-v2. AlmaLinux 10 dùng x86-64-v3 theo mặc định và cung cấp riêng một build x86-64-v2 cho các CPU cũ hơn. Trên một VPS giá rẻ chạy bằng CPU cũ của máy chủ vật lý, quyết định này có thể xác định hệ thống có cài đặt được hay không.

Có bốn cách hiểu thực tế từ timeline này:

  • Nếu cần quan hệ hỗ trợ trực tiếp với vendor, hãy mua RHEL. Subscription là sản phẩm, đồng thời cung cấp các certification và kênh hỗ trợ mà không bản rebuild nào có thể thay thế.
  • Nếu muốn thứ CentOS Linux từng cung cấp, AlmaLinux và Rocky Linux đều đáp ứng được, miễn phí và có thời hạn hỗ trợ 10 năm.
  • Nếu viết software phải chạy trên RHEL hoặc muốn các patch của mình được đưa vào RHEL, CentOS Stream là target phù hợp, và thời hạn ngắn hơn là cái giá phải trả.
  • Nếu không thuộc các trường hợp trên, hệ sinh thái Debian trả lời câu hỏi về lifecycle theo cách riêng, và lựa chọn giữa Ubuntu LTS và các bản phát hành interim là phiên bản của quyết định này mà bạn sẽ gặp ở đó.

Bài học phía sau timeline này liên quan đến governance hơn là code. CentOS Linux là software tốt, nhưng vẫn kết thúc sớm vì được tài trợ bởi công ty sở hữu sản phẩm mà nó tái xây dựng. Khi chọn distribution cho một máy dự kiến chạy trong 10 năm, hãy xem ai trả tiền cho project và ai sở hữu trademark. AlmaLinux giữ trademark trong một foundation. Rocky giữ trademark trong RESF, với CIQ là commercial sponsor. Cả hai project đều công bố những thông tin này, nhiều hơn những gì người dùng CentOS có thể kiểm tra vào năm 2019.

Điều này ảnh hưởng trực tiếp đến bạn nếu thuê server. Trên một VPS unmanaged, bạn tự áp dụng các bản cập nhật, nên việc kết thúc vòng đời sớm sẽ trở thành một kế hoạch migration bạn phải chuẩn bị và thời gian bạn phải bỏ ra. Nếu câu hỏi về operating system vẫn còn bỏ ngỏ ở phạm vi rộng hơn, so sánh giữa Linux và Windows Server cần được xem xét trước tất cả nội dung này.

FAQ

CentOS đã bị khai tử chưa?

CentOS Linux đã bị ngừng phát hành. CentOS Linux 8 kết thúc vào December 31, 2021 và CentOS Linux 7 kết thúc vào June 30, 2024, nên cả hai không còn nhận security update. Bản thân CentOS Project vẫn tiếp tục và phát hành CentOS Stream. Đây là một sản phẩm khác: nhánh phát triển công khai cung cấp đầu vào cho Red Hat Enterprise Linux. Nếu server vẫn chạy CentOS Linux thì hệ thống không có bản vá. Các lựa chọn migration phổ biến là AlmaLinux và Rocky Linux.

CentOS Stream khác CentOS Linux ở điểm nào?

Khác biệt nằm ở hướng phát triển. CentOS Linux nằm downstream: Red Hat phát hành một minor release của RHEL, sau đó CentOS mới rebuild bản đó. CentOS Stream nằm upstream: đây là nơi tập hợp minor release RHEL tiếp theo, nên nội dung xuất hiện trước RHEL thay vì sau đó. Stream được update liên tục thay vì đóng băng. CentOS Stream 10 có thời hạn support khoảng năm năm, trong khi RHEL có thời hạn mười năm.

Nên chọn Rocky Linux hay AlmaLinux?

Cả hai đều miễn phí, bám sát RHEL và công bố thời hạn support mười năm, nên với phần lớn server thì chọn hệ nào cũng được. Khác biệt thực tế bắt nguồn từ các quyết định của hai dự án trong năm 2023. Rocky hướng đến việc khớp với từng bản phát hành RHEL, bằng cách rebuild từ các source lấy qua UBI container image và public cloud instance. AlmaLinux hướng đến khả năng tương thích ABI. Điều này cho phép dự án phát hành bản vá sớm hơn và tiếp tục hỗ trợ phần cứng mà RHEL đã loại bỏ. AlmaLinux 10 phát hành bản build x86-64-v2 cho CPU cũ hơn, còn Rocky Linux 10 yêu cầu x86-64-v3. Vì vậy, trên phần cứng cũ, chỉ riêng chi tiết này cũng có thể quyết định lựa chọn.

Red Hat có vi phạm GPL trong năm 2023 không?

Chưa có tòa án nào kết luận như vậy, và nghĩa vụ của GPL áp dụng với những người nhận binary. Red Hat vẫn cung cấp source tương ứng cho khách hàng. Tranh luận nằm ở bước tiếp theo: subscription có thể bị từ chối gia hạn, và các dự án rebuild hiểu việc này là sức ép nhằm ngăn họ sử dụng quyền redistribution mà license cấp. Vì vậy Rocky chuyển sang các source route không kèm subscription agreement, còn OpenELA được thành lập để công khai phát hành source.

Tại sao Red Hat lại dừng CentOS Linux?

Lý do được nêu trong thông báo ngày December 8, 2020 là tương lai của dự án nằm ở CentOS Stream, còn một bản rebuild chỉ sao chép RHEL thì không cho cộng đồng cách nào tác động đến dự án. Nhiều người dùng cũng cho rằng có động cơ thương mại, vì CentOS Linux là phiên bản miễn phí của một sản phẩm Red Hat bán ra, và đang chạy trong production tại các tổ chức có khả năng mua subscription. Các bài viết của Red Hat tập trung giải thích mô hình phát triển, thay vì giải thích theo cách hiểu đó.