$linuxjunkies
>

RHEL vs Rocky vs AlmaLinux

CentOS is gone. Here's how RHEL, Rocky Linux, and AlmaLinux compare on governance, compatibility, certifications, and which to choose for production.

IntermediateUbuntuDebianFedoraArch9 min readUpdated June 7, 2026

Before you start

  • Familiarity with RPM-based Linux administration and dnf
  • Access to a bare-metal server, VM, or cloud instance for installation
  • SHA-256 checksum tool available on your workstation for ISO verification

In December 2020, Red Hat announced CentOS Linux would be discontinued as a downstream RHEL rebuild and replaced by CentOS Stream — a rolling preview of the next RHEL minor release rather than a stable mirror of the current one. That decision stranded millions of production servers and triggered two community forks: Rocky Linux and AlmaLinux. If you are evaluating which RHEL-compatible distribution to deploy or migrate to, this guide compares the three options that matter today.

The CentOS Story

CentOS (Community ENTerprise Operating System) was founded in 2004 as a free, binary-compatible rebuild of RHEL. Red Hat acquired the CentOS Project in 2014, and production continued until the December 2020 announcement. CentOS 8 reached end-of-life on 31 December 2021 — roughly eight years earlier than its original schedule. CentOS 7 ran to its original 2024 EOL date.

CentOS Stream remains active and is the upstream for RHEL, not a downstream rebuild. Packages in Stream sometimes include fixes not yet in the current RHEL minor release, but it also occasionally sees regressions before they are caught. For most production workloads it is not a drop-in CentOS replacement.

RHEL: The Reference Platform

Red Hat Enterprise Linux is the definitive enterprise Linux. Everything else in this comparison is measured against it.

  • Release cadence: Major releases every 3–4 years; minor releases (~.1, .2 …) every 6 months. RHEL 9 is current; RHEL 8 remains in full support.
  • Support lifecycle: 10 years of production support plus optional 2-year ELS (Extended Life-cycle Support).
  • Cost: Subscriptions start at ~$349/year per server for Standard support. Red Hat offers a free no-cost developer subscription covering up to 16 self-managed systems — legitimate for small production use as of 2021.
  • Source access: In June 2023, Red Hat restricted public access to RHEL source RPMs to CentOS Stream and the customer portal only. This directly affects how Rocky and Alma obtain sources (more on that below).

Rocky Linux

Rocky Linux was started by Gregory Kurtzer, one of CentOS's original founders. The Rocky Enterprise Software Foundation (RESF) governs the project. Version 8.4 shipped in June 2021, roughly six months after the CentOS EOL announcement.

Build methodology after the 2023 source change

Rocky Linux switched to building from CentOS Stream SRPMs, debranding and patching to match RHEL behavior, then validating against the Red Hat ABI. The RESF documented this approach publicly. The result is still ABI- and binary-compatible with RHEL, but the build pipeline is more complex than it was before 2023.

Key characteristics

  • Governed by a community foundation (RESF), with commercial backing from CIQ (Gregory Kurtzer's company).
  • Passes the Red Hat OpenShift, CIS Benchmark, and DISA STIG certification tests used by RHEL.
  • Petalibyte-scale deployments in HPC environments — Rocky has strong traction in national labs and universities.
  • Ships its own peridot open-source build system; build reproducibility is a stated project goal.
  • Supports x86_64, aarch64, ppc64le, and s390x (same arches as RHEL).

Installation

# Download the minimal ISO from https://rockylinux.org/download
# Verify the checksum before writing
sha256sum Rocky-9.4-x86_64-minimal.iso

AlmaLinux

AlmaLinux was launched by CloudLinux Inc. in January 2021. The AlmaLinux OS Foundation, a US 501(c)(6) non-profit, owns and governs the project independently of CloudLinux.

Build methodology after the 2023 source change

AlmaLinux made a deliberate choice: rather than claiming bug-for-bug RHEL compatibility, the project now targets Application Binary Interface (ABI) compatibility. This means software compiled for RHEL 9 will run unchanged on AlmaLinux 9, but Alma does not promise to replicate every RHEL bug. The project obtains sources from CentOS Stream, upstream packages, and Red Hat's own published patches.

Key characteristics

  • Non-profit foundation governance; board seats are not tied to CloudLinux employment.
  • FIPS 140-3 validated modules, Common Criteria EAL2 certification — relevant for US government and regulated industries.
  • AlmaLinux Kitten is a preview stream equivalent to CentOS Stream, allowing early testing.
  • Strong emphasis on cloud images: AWS, Azure, GCP, and OCI images are first-class deliverables updated within hours of a new release.
  • Supports x86_64, x86_64_v2, aarch64, ppc64le, and s390x; the x86_64_v2 build targets CPUs made after roughly 2009, enabling compiler optimizations unavailable in baseline x86_64.
  • ELevate tooling (built by AlmaLinux, also usable for other distros) migrates in-place from CentOS 7 / RHEL 7 to RHEL 8-family distributions.

Installation

# Download from https://almalinux.org/get-almalinux/
sha256sum AlmaLinux-9.4-x86_64-minimal.iso

Side-by-Side Comparison

FeatureRHELRocky LinuxAlmaLinux
Governed byRed Hat / IBMRESF (community + CIQ)AlmaLinux OS Foundation
CostSubscription (free dev tier)FreeFree
Compatibility claimReferenceBug-for-bug RHEL compatibleABI compatible
Support life10 yr + 2 yr ELS10 yr (mirrors RHEL)10 yr (mirrors RHEL)
FIPS / CC certifiedYesIn progress (9.x)Yes (EAL2, FIPS 140-3)
Cloud imagesVia marketplaceYes, all major cloudsYes, all major clouds + rapid updates
HPC / bare-metal focusYesStrongModerate
In-place upgrade toolLeappLeappELevate + Leapp

Migrating from CentOS 8 or Rocky/Alma to the Other

Because all three share the same RPM database format, package naming, and filesystem layout, switching between Rocky and AlmaLinux is feasible with community migration scripts. Red Hat also ships the convert2rhel tool for migrating to a paid RHEL subscription.

# Check your current OS identity
cat /etc/os-release
rpm -q centos-release rocky-release almalinux-release 2>/dev/null

Rocky to AlmaLinux (or vice versa) — overview only

AlmaLinux provides an almalinux-deploy.sh script; Rocky provides migrate2rocky.sh. Both replace the release RPMs, re-sign the RPM database, and swap base repositories. Always snapshot or back up before running either script on a production system.

# Example: migrate to AlmaLinux from a compatible RHEL 8/9 family distro
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
bash almalinux-deploy.sh

Verifying ABI/Binary Compatibility

Before committing to either community distro for a workload that depends on proprietary or certified software, confirm the ISV's support statement. Many vendors (SAP, Oracle DB, etc.) certify RHEL directly and extend that certification to AlmaLinux or Rocky on a case-by-case basis. Check the vendor's compatibility matrix — do not assume.

# Confirm RHEL compatibility identifiers reported by the OS
grep -i 'id\|version' /etc/os-release
# Both Rocky and Alma set RHEL_VERSION in /etc/os-release
grep RHEL /etc/os-release

Which Should You Choose?

  • RHEL: You need vendor-supported RHEL, Red Hat support SLAs, or Satellite / Insights integration. The developer subscription is genuinely free for small fleets.
  • Rocky Linux: You want the closest possible behavior to RHEL and have HPC, on-premises, or academic workloads. The RESF's transparent build system appeals if reproducibility matters to you.
  • AlmaLinux: You prioritize cloud-native deployments, need FIPS 140-3 or Common Criteria out of the box today, or want the ELevate migration path. The ABI-compatibility stance is pragmatic and has caused zero real-world breakage for standard applications.

Both community distributions are serious, well-maintained projects. The choice between Rocky and Alma is more about governance philosophy and tooling fit than any meaningful technical difference for most workloads.

Troubleshooting Common Post-Migration Issues

GPG key errors after switching release RPMs

# Re-import the correct GPG key after migration
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*

Repository mismatches

# List all enabled repos and check for leftover foreign repo files
dnf repolist --enabled
ls /etc/yum.repos.d/

Kernel not updated after migration

dnf update kernel --refresh
grubby --default-kernel
tested on:RHEL 9.4Rocky 9.4Rocky 8.10AlmaLinux 9.4

Frequently asked questions

Is Rocky Linux or AlmaLinux actually binary-compatible with RHEL?
Rocky Linux targets bug-for-bug RHEL compatibility. AlmaLinux targets ABI compatibility — software compiled for RHEL will run unchanged, but Alma does not promise to replicate every RHEL bug. In practice, both run RHEL-compiled binaries without issues.
What happened to CentOS Stream? Can I use it in production?
CentOS Stream is a rolling preview of the next RHEL minor release. It receives updates before RHEL does, which means occasional regressions. It is used by developers tracking RHEL's direction, not as a stable production server OS.
Can I migrate an existing Rocky Linux server to AlmaLinux without a reinstall?
Yes. AlmaLinux provides almalinux-deploy.sh which replaces release RPMs and re-signs the RPM database. Always snapshot the system first. Rocky provides a similar migrate2rocky.sh in the opposite direction.
Does AlmaLinux's FIPS 140-3 certification matter for my deployment?
If you operate in US federal, healthcare, or financial environments that require FIPS-validated cryptography, AlmaLinux's certified modules remove a compliance hurdle. Rocky Linux is working toward similar certification but it was not complete at time of writing.
Why did Red Hat restrict RHEL source access in 2023, and how does it affect Rocky and Alma?
Red Hat moved SRPM publication behind the customer portal and CentOS Stream, citing investment protection. Both Rocky and Alma adapted by building from CentOS Stream SRPMs plus public patches. The downstream builds remain compatible, but the pipeline is more involved than it was pre-2023.

Related guides