In December 2020, Red Hat announced the transformation of CentOS from a downstream rebuild of RHEL into an upstream development branch (CentOS Stream). This means that traditional CentOS no longer provides a 1:1 RHEL-compatible stable release.
CentOS 7 — Reached end of life (EOL) on June 30, 2024
CentOS 8 — Reached end of life (EOL) on December 31, 2021
CentOS Stream — Continues to exist, but is now positioned as an upstream for RHEL
If you are running CentOS 7 or CentOS 8, you must migrate to a supported distribution.
AlmaLinux
Initiated and funded by CloudLinux, Inc.
Provides the official migration tool almalinux-deploy
Migrates EL8.4+ (Alma/Rocky/Oracle/Stream 8) to AlmaLinux; CentOS 7 cannot go directly (the script requires EL8.4+), upgrade to EL8 with ELevate first
Detailed migration steps →
Rocky Linux
Initiated by a CentOS co-founder
Provides the official migration tool migrate2rocky
Supports migration from CentOS 8 and other EL versions
Detailed migration steps →
In addition to AlmaLinux and Rocky Linux, you may also consider:
Target Suitable Scenarios Migration Method Oracle Linux Oracle database environments, need for UEK kernel migrate-to-oracle-linux.sh (oracle/migrate-to-ol , community-maintained script)Anolis OS Alibaba Cloud environments, domestic OS requirements Requires redeployment or refer to Anolis migration documentation OpenCloudOS Tencent Cloud environments, domestic IT requirements Requires redeployment or refer to OpenCloudOS documentation RHEL Need commercial support Red Hat offers free developer subscriptions (16 machines)
Regardless of which distribution you are migrating to, you should complete the following preparations first:
Full backup — Including system configuration, databases, and application data
Document the current environment — Installed package list, running services, network configuration, cron jobs
Validate in a test environment — Complete a full migration in a test environment first
Notify stakeholders — Schedule a maintenance window and inform relevant parties
Prepare a rollback plan — Ensure you have snapshots or backups to revert to
$ rpm -qa --queryformat ' %{NAME}\n ' | sort > ~/installed-packages.txt
$ systemctl list-units --type=service --state=running > ~/running-services.txt
$ nmcli connection show > ~/network-connections.txt
Current System → AlmaLinux → Rocky Linux → Oracle Linux CentOS 7 Supported (ELevate -> AlmaLinux 8) ❌ No official path (ELevate has no leapp-data-rocky) Community script, not official CentOS 8 Supported Supported Supported CentOS Stream 8 Supported Supported Supported CentOS Stream 9 Supported Supported Supported Oracle Linux Supported Supported — AlmaLinux — Supported Supported Rocky Linux Supported — Supported