The easy, free way to move a server from Rocky Linux 8 up to Rocky Linux 9 without wiping the disk lost support in November 2025. The free tool that handled it dropped Rocky that month, so that smooth path is gone. A manual route still exists, but it is unofficial and comes with real risk. Here is what changed and what to do instead.
Rocky Linux 8 is a free server operating system. Rocky 9 is its replacement. Version 8 left active support back in May 2024, so it now gets maintenance updates, mostly security patches, instead of new features. Those updates stop on May 31, 2029, the date the makers quit shipping fixes, also called end of life. After that, Rocky's own repositories stop getting patches. So moving up does matter, just not today.
What Rocky 9 gives you
Rocky 9 ships newer building blocks under the hood. It makes Python 3.9, PHP 8.0, the MariaDB database 10.5, and the OpenSSL security library 3.0 the defaults out of the box. Even the Linux kernel, the core of the system, moves up to the 5.14 line. Rocky 8 stays on its older base, a 4.18 kernel and OpenSSL 1.1, and never makes that jump. Version 9 also gets security fixes all the way to May 31, 2032, so you buy yourself years.
The broken upgrade path
Rocky Linux does not officially support an in-place upgrade, meaning moving to the new version without wiping and reinstalling. Red Hat documents an in-place jump for its own paid RHEL using a tool called Leapp, but that support is for RHEL, not Rocky. For a while the AlmaLinux team plugged the gap with a free add-on called ELevate that fed Leapp the right migration data, the rules describing what changes between versions.
Then it broke. An ELevate update on November 3, 2025 dropped support for Rocky 8 to 9, because nobody contributed the migration data Rocky needs after the data format changed. The documented path that worked last year just is not there anymore. That is a rough spot for anyone relying on it.
What to do instead
Rocky's own supported procedure for a major jump is a clean install, not an in-place upgrade. Back up your data and config, spin up a fresh Rocky 9 box, and move your stuff over. It sounds like more work. Often it is not much worse, and you end up with a clean machine instead of one carrying years of leftover cruft. A reinstall you can repeat any time is easier to trust than an unsupported migration that can fail in system-specific ways.
If you still want the in-place route, it is possible, just unofficial and fiddly. People do it by hand, resetting the system's software modules, ripping out packages from outside repositories that have no Rocky 9 version, then running a big sync command to swap the package set over. Expect it to fight you.
Back up before you touch it
Whatever path you pick, back up before you start. An in-place upgrade can't be undone once it is running, and if it dies halfway you can be left with a server that won't boot. A full disk image or a snapshot is best. At the very least, save copies of your config folder and your databases.
One common reason these upgrades blow up is a leftover package from a third-party software source that has no version for the new system. Remove the troublemaker, then try again. Test on a throwaway copy first. This stuff breaks, so plan for it. Version 8 still gets patches until 2029, so you have runway here, not a fire. Use that time to do this the boring, safe way.


