Upgrading Fedora

9 February 2011
I've been doing a lot of work on several different machines recently and I've noticed that quite a few of them have fallen behind on their installed version of Fedora. Fedora 14 (the latest version as of this writing) doesn't include any real stand out features for end users, but it's got some great stuff for developers (such as upgraded Eclipse and Perl). Upgrading is usually quite a hassle, involving burning new DVD's to boot from and running through a complex download and install process. Recently I discovered the 'preupgrade' command line utility that allows you to go through most of the upgrade process while continuing to work on your Fedora installation. In order to use preupgrade just search for it using 'yum' with the 'yum search preupgrade' command. Yum is the package management system for Fedora. It is the functional equivalent of Debian's Apt system. Yum is an extension of the RPM (Redhat Package Manager) system. If you're familiar with RPM then yum will be quite familiar. Yum works by allowing users to configure software repositories (most notable remote software repositories). These can then be checked by downloading software manifests (or lists of releases) and checking them for available software and updates to currently installed packages. Yum allows you to keep your system up to date and easily search for new programs. If you've ever used the GUI software management utility in Fedora then you've used yum, which is the command line utility underlying such applications. Yum can even be configured to utilize unofficial Fedora software repositories. This is extremely helpful if you want to install software that will allow you to play encrypted DVD's or proprietary software such as Skype. The RPMFusion repository (http://rpmfusion.org/) is one of the best known unofficial software repositories for Fedora. Yum also includes a handy extension called yum-updatesd. This is the yum update daemon that can be used to automatically download and install software updates. This is extremely useful if you have a machine that doesn't get a lot of use. Without the updatesd a user has to log into the system and click the little 'Updates available' icon in the Gnome application panel or start the software updates GUI manually (under System -> Administration -> Software Update). With yum-updatesd you can simply edit the text file at /etc/yum/yum-updatesd.conf and enable the updatesd service using the chkconfig tool. The notable downfall of using updatesd is that it can result in unexpected system reboots if there are kernel updates. You can configure updatesd to avoid kernel updates and reboots, however, if you don't want this to happen. If you need to you can install preupgrade with yum by using the command:
$ sudo yum install preupgrade
Once installed just kick off the preupgrade program at the command line using 'sudo' or as root like so:
$ sudo preupgrade
This launches the preupgrade graphical interface which will guide you through the download of most of the prerequisite software for a system upgrade. When the download and configuration is complete the program will prompt you to reboot, which will then lead to the final upgrade processes. This allows you to upgrade your Fedora installation without the use of removable media as long as you have a network connection and provides for the least amount of interruption during the upgrade. For more information about preupgrade (including instructions on how to complete preupgrade remotely), see the Fedora Project's official wiki at http://fedoraproject.org/wiki/PreUpgrade.