I finally got around to upgrading one of my non-critical FC2 desktop boxes to FC3 using yum and figured I'd dump my notes for Google. This covers the basic upgrade process.
You may also want to take a peek at Seth's original post to fedora-test-list on FC2 to FC3 upgrades or Brandon Hutchinson's notes on various Redhat and Fedora upgrades with yum.
Before we begin
Commands with sudo assume you have root privileges on the box. You
can use sudo, su over to root, or something else - whatever. Just
make sure these commands are executed as root.
Install GPG Keys
You may already have the Fedora GPG keys installed. If not, or just to be safe, you can run this command:
$ sudo rpm --import http://fedora.redhat.com/about/security/4F2A6FD2.txt
Install fedora-release and yum packages
You will need to do this the old fashioned way1.
$ rpmbase=http://redhat.secsup.org/fedora/core/3/i386/os/Fedora/RPMS/
$ wget $rpmbase/yum-2.1.11-3.noarch.rpm
$ wget $rpmbase/fedora-release-3-8.i386.rpm
$ sudo rpm -Uvh --force fedora-release*.rpm
$ sudo rpm -Uvh yum-*.rpm
Upgrade Yum, Python, and RPM
Upgrade yum, python and rpm. This will help make sure the rest
of the upgrade goes smoothly. There are some issues in the rpm
provided with FC2 that have been worked out in FC3.
$ sudo yum upgrade rpm python yum
Just for fun, and with the memory of yum 2.0 fresh in your mind, run the following:
$ sudo yum list updates
This should just fly compared to yum 2.0. We all supported Seth in his decision to sell his soul to the devil for this speed-up. Seth, your soul has saved thousands of people thousands of minutes of waiting; we thank you!
Upgrade everything else
$ sudo yum upgrade
This will take a while. Even if you get lucky and hit on a fast mirror, it's still going to take a while.
Fix conflicts if needed
If you stuck with the Fedora Core, Extras (fedora.us), and Livna repositories you shouldn't have any problems here. However, if you've installed RPMs from other third party repositories or RPMs found in the wild, you may run into a few conflicts.
For example, I got the following on my initial run of yum upgrade:
Error: missing dep: libgtop-2.0.so.2 for pkg gdesklets
The gdesklets RPM I had installed was built by me and likely had
multiple packaging issues. The easiest way to proceed is to just
remove the offending packages. Worry about reinstalling them after
the upgrade:
$ sudo rpm -ev gdesklets
error: Failed dependencies:
gdesklets is needed by (installed) gdesklets-starterbar-0.30-0.noarch
$ sudo rpm -ev gdesklets gdesklets-starterbar
After clearing up conflicts start the upgrade again:
$ sudo yum upgrade
Wrapping Up
You may want to go into /etc/grub.conf as root and change the
default kernel:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora Core (2.6.9-1.681_FC3smp)
root (hd0,0)
kernel /vmlinuz-2.6.9-1.681_FC3smp ro root=LABEL=root2 rhgb quiet
initrd /initrd-2.6.9-1.681_FC3smp.img
title Fedora Core (2.6.8-1.521smp)
root (hd0,0)
kernel /vmlinuz-2.6.8-1.521smp ro root=LABEL=root2 rhgb quiet
initrd /initrd-2.6.8-1.521smp.img
I've selected the newly install 2.6.9 kernel as my default.
All that's left to do now is to reboot. I haven't had a chance to
dive into changes but nothing has jumped out as being completely
broken.