I decided to upgrade from RH9 to FC1 on the weekend.  Below is my experience which I thought I might share with the rest of the LUG.

My system was quite heavily modified with Ximian and FreshRPMs packages for RH9.  So I figured I couldn't just do a from CD "upgrade" install.

The first thing I did was install yum a package manager similar to apt but for RPMs.  Yum comes with FC1.  I could have also installed apt for RPM too.  But I was more familiar with yum.  I then copied all the RPMs off the FC1 CDs I have onto my hard disk.  I then downloaded the "headers" directory from the fedora core ftp server.  Yum uses .hdr files to resolve dependencies.  It uses headers rather than downloading the rpms because this is much more network efficient.  I then configured yum to use file:/// urls to get the files off my hard disk.

I then started going over my installed RPMs finding Ximain and FreshRPM versions and replacing them where Icould with FC1 versions using yum.  This was an easy process of erasing the installed versions and then issuing "yum install package-name".

Once I had eradicated these troublesome packages I replaced the firstboot, redhat-config-securitylevel, and lokkit packages as I read on the web they can cause install issues.

Then I started manually replacing 'core' packages like glibc, basesystem, redora-release, rpm, popt etc etc.  I should have also replaced libzlib, libbzip2 and others.... I learned that lesson later.  :)

Then issued a "yum update".  This started inspecting all my packages and upgrading them.

About half way though the update I had a thought, started doubting the command I had entered was doing the right thing and decided I'd stop yum with Ctrl-C, check the command and start yum again.


This had the effect of A) breaking yum so I couldn't use it anymore due to python errors and B) of completely hosing my RPM database.  My system thought that it had installed multiple version of most of my packages.

I spent the next 6 hours rebuilding my system with rpm manually.

This consisted of producing a list of all installed RPMS (including dupes) and running rpm --force -Uvh on all these packages and resolving dependencies by hand.

This was a painful exercise.

Once that was done I did a further rpm -Fvh *.rpm in the fedora core RPMS directory.

By this time yum was back to working.  I then reconfigured it to use some Fedora mirrors.  I also configured it to use the Fedora.us and Livna.org yum repositories.  Fedora.us and livna.org have lots of extra goodies to install.  I issued a "yum update" and yum began to sync up my box with all the latest package updates and also a swag of replacements for FreshRPM RPMS I had installed.

My system is now in relatively good working order.  But it certainly was a mission to get it there.  Everything would have been soooo much easier had I resisted the temptation to Ctrl-C yum when it was working on my system in the first place.

Oliver Jones » Director » oliver.jones@deeperdesign.com » +64 (21) 41 2238
Deeper Design Limited » +64 (7) 377 3328 » www.deeperdesign.com