Skip to content
Search Rocky Linux

    Browse this documentation

    Migrating Away from Rocky Linux

    Typical reasons to migrate away: compliance (needing RHEL subscription support), organizational standards, or ecosystem preference. Within the EL family there is official/community tooling; across families (EL → Debian/Ubuntu) there is no in-place path — reinstall-and-migrate only.

    In-place migration from Rocky to AlmaLinux (same major version) is supported by AlmaLinux’s official almalinux-deploy.sh script; its README explicitly lists Rocky Linux among supported conversions.

    In-place migration from Rocky to RHEL is handled by Red Hat’s official convert2rhel utility, but its supported conversion matrix lists specific RHEL 8/9 source minor versions and requires a subscription or activation key; Rocky 10 is not listed.

    TargetMethodTool / notes
    AlmaLinux (same major)In-placealmalinux-deploy.sh (official AlmaLinux script; converts from Rocky)
    RHEL 8/9 (minors listed in the official matrix)In-placeconvert2rhel (official Red Hat; subscription or activation key required; Rocky 10 is not in the supported matrix — for 10→RHEL use reinstall or await matrix updates, see official conversion paths)
    CentOS Stream (same major)In-placeNo official script; manual release-package + repo swap, at your own risk
    Other majors / other familiesReinstallNo in-place tooling: fresh install + restore data/configs/services

    In-place conversion flow (AlmaLinux example)

    Section titled “In-place conversion flow (AlmaLinux example)”
    1. Back up and snapshot (same as inbound migrations — non-negotiable);

    2. Fetch the official script:

      Terminal window
      curl -LO https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
      chmod +x almalinux-deploy.sh
    3. Run and reboot: sudo ./almalinux-deploy.sh → sudo reboot;

    4. Verify: cat /etc/os-release, dnf repolist, rpm -q almalinux-release;

    5. Walk the post-migration checklist (main-site reference ↗).

    No in-place path. Execute as reinstall-and-migrate:

    1. Inventory: service list, package list (rpm -qa), config deltas (SELinux/AppArmor, firewalld/ufw, systemd units);
    2. Fresh-install the target and rebuild item by item;
    3. Move data (rsync / database dumps) and rehearse the cutover window (see backup drill (main-site reference ↗)).