TL;DR: Run dnf --releasever 23 distro-sync
instead of dnf system-upgrade
on OpenVZ systems
I run Fedora on my servers almost exclusively. This means I usually fall behind in upgrading to the latest release, leading me to wonder why I don’t just go with the latest version of CentOS.
Then I have lovely cases where CentOS gets horribly outdated, and I remember why I like Fedora with its latest and greatest. (Yes I do like shiny things, thank you very much)
My servers are mostly OpenVZ based, for the simple fact that OpenVZ powered VPSes are rather cheap for what you get, especially where I don’t need high performance. I have just one bad thing about being OpenVZ based: I have no control over the kernel/boot sequence. The vast majority of the time, this isn’t an issue. Sadly, using dnf system-upgrade is one of the times when it is an issue.
Fedora 22 brought in a new way to upgrade your system – dnf system-upgrade. I’ve used it on my laptop, it’s pretty good compared to fedup and past solutions. However, the one thing that rarely failed me in the past was using the yum distro-sync functionality. (The only time I’ve had an issue with it was when the upgrade was stopped midway, but that’s another story.)
It’s an issue because system-upgrade reboots your system into what is pretty much single user mode, and installs the new packages. Additionally, system-upgrade expects a new kernel, and when dnf doesn’t install one, it dies with a “no new kernel packages found” error.
So it’s pretty much impossible to use system-upgrade on OpenVZ systems. However, distro-sync still exists in dnf, and dnf --releasever 23 distro-sync
works just fine. After upgrading, everything has come back up without issues, and I’m upgrading my main system without any issues there either.