Monday, March 28, 2011

Easily Updating A Release With Fedora...

At home I have a perimeter server that runs Fedora. It's a machine I rarely think about, sitting on the fringe of my home network. I never SSH into it and instead only hit it for Subversion or Git repositories I have there for personal use.

So today I was working and, for some reason, decided to go an update the installed packages and do some general housekeeping on the box. And while on I realized it was a release behind, running F13 while F14 is the latest (and F15 just went to Alpha).

I decided to upgrade it to F14 with an in-place upgrade using the following steps.

First things first. Go to multiuser mode and disable X:

Ctrl-Alt-F2

init 3 

Install rpmconf (if you don't already have it):

yum install rpmconf -y

Clean up any configuration files with:

rpmconf -a --frontend=vimdiff

Upgrade the SSL certificates on F13:

rpm --import https://fedoraproject.org/static/97A1071F.txt

Update Yum itself:

yum upgrade yum

Reset all yum cached package lists:

yum clean all

Now do a full distro sync:

yum --releasever=14 distro-sync

This is the longest part of the whole process since it's going to pull down every single upgrade for your system. For me it was on the order of about 900 packages.

When that finishes, you want to then make sure that all Base group packages are installed:

yum groupupdate Base

Now prepare your system for a full reboot:

/sbin/grub-install BOOTDEVICE
cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done
package-cleanup --orphans

Now you can reboot your system and have a fully working, running F14 (in this case) system.