Upgrading a Fedora 12 system to Fedora 14 using preupgrade

For some time, the fedora project has offered a preupgrade package to allow a version upgrade to be performed on a running and otherwise useful system with minimal downtime. I have heard both good and bad reports and decided to give it a try myself.

The issue with the /boot partition

The big problem with preupgrade arises with systems that have normally sized (i.e. 200M or so) boot partitions. As of Fedora 13, the default size of a boot partition for fedora was increased from 200 to 500 M, most likely to provide the extra space that preupgrade requires.

If you have a big (500M) boot partition, or no boot partition at all (with /boot a part of the root partition, and plenty of free space), you will be in good shape. If not, there are workarounds, which are described on the fedora preupgrade page.

My machine

The system I wanted to try this out on did not have a separate /boot partition, so I was in good shape. This system was running Fedora 12, and I wanted to upgrade to Fedora 14 (the current release at the time of this writing). I believe preupgrade only allows a jump of 1 or 2 releases, so if I had waited until Fedora 15 had come along, I would have had to leapfrog through intermediate releases somehow.

The process for me was:

su
yum update
yum install preupgrade
preupgrade
The process went by and large unattended and without hassle, although it did pause asking me to let it reboot at some point. One of the most painless upgrades I have ever done, and jumping two releases at that. After the upgrade, I did (as recommended):
package-cleanup --orphans
This simply lists all packages that are installed, but which no longer are part of the current release. You have to use yum erase to explicitly get rid of each of them. Most of these (in my case) are old kernels, which can be identified and removed via:
package-cleanup -y --oldkernels

Yum interrupted

In the midst of the lengthy yum update of hundreds of packages (this machine had been unused and powered off for the better part of a year), we had a momentary power outage, which caused the machine to reboot in the midst of the update. This looked like a gigantic disaster, and could have been, but the thing to do was:
yum-complete-transaction
This cleaned up the mess and fixed things nicely.
Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org