Upgrades with preupgrade

Last Updated on 07/19/2013 by dboth

Prior to about Fedora 10 upgrades could be done most easily using standard installation/upgrade DVDs or kickstarts. This could be time-consuming, especially in the case of DVD because someone had to physically insert the DVD in the drive and perform the installation.

YUM has made the process if installing package updates very easy. There has been for some time a method for performing a series of manual operations to prepare a Fedora Linux computer for upgrade to the next version. Seth Vidal, the developer of YUM has produced an RPM which, when installed on a Fedora Linux computer, can perform all the tasks required to prepare a computer for a version upgrade to the next release of Fedora. The preupgrade RPM package gets installed along with regular YUM upgrades and can be executed any time after a new version level upgrade is released, i.e., an upgrade from Fedora 12 to Fedora 13.

The preupgrade package locates and downloads information required to perform the upgrade and prepares the system for the upgrade. It adds a new entry to /boot/grub/grub.conf which is entitled something similar to “Upgrade to Fedora XX.”

Early versions of preupgrade did not make this the default boot option. The most recent installed kernel was still the default boot option. To perform the final steps of the upgrade, reboot and enter the GRUB menu; then select the “Upgrade” option to boot. The upgrade will run until it is completed, downloading files as it needs to, and then reboot the computer when the upgrade is finished.

More recent versions of preupgrade,starting at least with Fedora 12, make booting the upgrade option the default.

Depending upon the speed of your network connection it may take a significant amount of time for this to complete. You should also consider the effect of multiple simultaneous upgrades on your Internet connection.


There are two options for running the preupgrade program. You can use the command line interface (CLI) version or the GUI version. The GUI version is launched with the command preupgrade and the CLI version with the command preupgrade-cli. The GUI version opens a window with a list of available upgrades, including some alpha or beta versions which are denoted only by a codename. Do not install an alpha or beta version on any production computers.

The CLI version of preupgrade prints an error and a list of available upgrades. Use the name of one of the available upgrades as a parameter to begin the upgrade process.

[root@david1 ~]# preupgrade-cli
Loaded plugins: blacklist, whiteout
No plugin match for: rpm-warm-cache
No plugin match for: remove-with-leaves
No plugin match for: auto-update-debuginfo
Loaded plugins: presto, refresh-packagekit
please give a release to try to pre-upgrade to
valid entries include:
“Fedora 13 (Goddard)”
[root@david1 ~]# preupgrade-cli “Fedora 13 (Goddard)”

Note that you must include the double quotation marks as part of the parameter:

At this point the preupgrade files and packages are installed, including the upgrade kernel and image, which are loaded into /boot. You will receive an error if there is not enough room in /boot. I always create /boot with a size of at least 256MB for this reason.

After the required upgrade files are installed, a reboot automatically boots to the upgrade kernel and the upgrade takes place. If there is an error during the upgrade, you my be able to boot to your previous kernel and continue operations as normal.

No Longer Supported

Note that beginning with Fedora 18 upgrades by any means are no longer supported and complete reinstallations are strongly recommended.

Leave a Reply