Skip to content

CentOS Migration Overview

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
  • Supports migration from CentOS 7/8 and other EL versions
  • 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:

TargetSuitable ScenariosMigration Method
Oracle LinuxOracle database environments, need for UEK kernelcentos2ol.sh official tool
Anolis OSAlibaba Cloud environments, domestic OS requirementsRequires redeployment or refer to Anolis migration documentation
OpenCloudOSTencent Cloud environments, domestic IT requirementsRequires redeployment or refer to OpenCloudOS documentation
RHELNeed commercial supportRed Hat offers free developer subscriptions (16 machines)

Regardless of which distribution you are migrating to, you should complete the following preparations first:

  1. Full backup — Including system configuration, databases, and application data
  2. Document the current environment — Installed package list, running services, network configuration, cron jobs
  3. Validate in a test environment — Complete a full migration in a test environment first
  4. Notify stakeholders — Schedule a maintenance window and inform relevant parties
  5. Prepare a rollback plan — Ensure you have snapshots or backups to revert to
Back up the list of installed packages
$ rpm -qa --queryformat '%{NAME}\n' | sort > ~/installed-packages.txt
Back up the list of running services
$ systemctl list-units --type=service --state=running > ~/running-services.txt
Back up network configuration
$ nmcli connection show > ~/network-connections.txt
Current System→ AlmaLinux→ Rocky Linux→ Oracle Linux
CentOS 7Supported (ELevate)Supported (ELevate)Supported (centos2ol)
CentOS 8SupportedSupportedSupported
CentOS Stream 8SupportedSupportedSupported
CentOS Stream 9SupportedSupportedSupported
Oracle LinuxSupportedSupported—
AlmaLinux—SupportedSupported
Rocky LinuxSupported—Supported