Skip to content
Search RunEntLinux

Searches general documentation on RunEntLinux. Each distribution has its own documentation search.

    Browse this documentation

    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
    • 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:

    TargetSuitable ScenariosMigration Method
    Oracle LinuxOracle database environments, need for UEK kernelmigrate-to-oracle-linux.sh (oracle/migrate-to-ol, community-maintained script)
    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 -> AlmaLinux 8)❌ No official path (ELevate has no leapp-data-rocky)Community script, not official
    CentOS 8SupportedSupportedSupported
    CentOS Stream 8SupportedSupportedSupported
    CentOS Stream 9SupportedSupportedSupported
    Oracle LinuxSupportedSupported—
    AlmaLinux—SupportedSupported
    Rocky LinuxSupported—Supported