[CentOS-docs] Successful Inplace migration from 4.4 to 5.0

Sun Apr 15 09:54:11 UTC 2007
Jason Potkanski <jpotkanski at citizendium.org>

I was able to successfully migrate from 4.4 to 5.0 in place. I created a 
guide for our webhost and thought to share it with the community in 
general.

I registered as JasonPotkanski on the wiki.

As a side note, if spam on the CentOS wiki is terrible, perhaps use of 
Bad Behavior may be used.

-Jason Potkanski
Citizendium

----

All right, Here is an unholy guide for Migrating Centos 4.4 to 5.0 in 
place. Since it doesn't exist on Centos anywhere or anyone has been able 
to report success doing it, I must be a pioneer and therefore this is a 
Steadfast exclusive.

Never do this. You'll likely end up mucking up your system bad/and or 
requiring a $25 reinstall fee. And loose all your data if you were 
stupid not to backup. The only way you want to do this is if you are one 
of those sysadmin jocks like myself who love the idea of climbing Mt. 
Everest. Naked.

This guide is also

Precheck:
1. Backup yer stuff.
2. Make sure your backup is intact.
3. Backup your stuff again.
4. Move all your production services to another server. (You can't do 
this? Then stop here!)

Getting started:

1. Import the new rpm key

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

2. Upgrade the Centos-release:

rpm -U 
http://mirror.anl.gov/pub/centos/5.0/os/i386/CentOS/centos-release-5-0.0.el5.centos.2.i386.rpm 
http://mirror.anl.gov/pub/centos/5.0/os/i386/CentOS/centos-release-notes-5.0.0-2.i386.rpm

3. (Steadfast specific) in /etc/yum.repos.d you have two choices. 
Centos-release will add Centos-base.repo.rpmnew . You can move the 
Steadfast CentOS-Base.repo to something else and move the rpmnew to 
CentOS-Base.repo. Or, to save Steadfast bandwidth, edit the 
CentOS-Base.repo and replace $releasever with 5 (I.e. 
baseurl=http://mirror.steadfast.net/centos/5/addons/$basearch/  and so 
forth)

4. Remove unnecessary rpms that may conflict with yum kernel upgrade. Do 
a test run of yum upgrade kernel (Do you like pain?). Somethings that 
would conflict with a kernel upgrade can be safely removed.
Examples from my experience:

yum remove pcmcia-cs
yum remove xorg-x11-xfs
yum remove kudzu (Probably a bad idea)
yum remove pm-utils
yum remove gcc
yum remove lksctp-tools ImageMagick
yum remove oprofile
yum remove *-devel
yum remove ppp
yum remove isdn*

5a. Setup for the next bit. This is the fun part. We are going to 
resolve rpm dependency hell manually. I used two terminal windows and a 
browser window.

The first terminal window we are going to build a massive rpm -U

The second terminal window was used for yum provides and yum remove as 
necessary.

The browser window was pointed at 
http://mirror.centos.org/centos/5/os/i386/CentOS/ Copy shortcut and 
ctrl-f for find are your friend here.

5. Start with rpm -U 
http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-8.el5.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.14.EL-1.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/autofs-5.0.1-0.rc2.42.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/hal-0.5.8.1-19.el5.i386.rpm 


These are probably your biggest conflict generators when you do yum 
upgrade. From there we work to resolve dependencies against libraries 
and packages that are missing.

After a long hard cut and paste slog:


rpm -U 
http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-8.el5.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.14.EL-1.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/autofs-5.0.1-0.rc2.42.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/hal-0.5.8.1-19.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/udev-095-14.5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/mkinitrd-5.1.19.6-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nfs-utils-1.0.9-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/procps-3.2.7-8.1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-1.39-8.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-libs-1.39-8.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/selinux-policy-targeted-2.4.6-30.el5.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/kudzu-1.2.57.1.13-1.el5.centos.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glibc-2.5-12.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glib2-2.12.3-2.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/sysklogd-1.4.1-39.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/ntsysv-1.3.30.1-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dbus-1.0.0-6.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dbus-glib-0.70-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openldap-2.3.27-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glibc-common-2.5-12.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/SysVinit-2.86-14.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cryptsetup-luks-1.0.3-2.2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dmidecode-2.7-1.28.2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libusb-0.1.12-5.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libvolume_id-095-14.5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pm-utils-0.19-3.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nash-5.1.19.6-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libevent-1.1a-3.2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/selinux-policy-2.4.6-30.el5.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libgssapi-0.10-2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/krb5-libs-1.5-17.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/chkconfig-1.3.30.1-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nfs-utils-lib-1.0.8-7.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/policycoreutils-1.33.12-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/hwdata-0.194-1.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-2.4.3-19.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/newt-0.52.2-9.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssl-0.9.8b-8.3.el5.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssh-4.3p2-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssh-server-4.3p2-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libselinux-1.33.4-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pam-0.99.6.2-3.14.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pciutils-2.2.3-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libselinux-python-1.33.4-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libsemanage-1.9.1-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libsepol-1.15.2-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/audit-libs-1.3.1-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/audit-libs-python-1.3.1-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/module-init-tools-3.3-0.pre3.1.16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/db4-4.3.29-9.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/readline-5.1-1.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/slang-2.0.6-4.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/mcstrans-0.1.10-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cracklib-2.8.9-3.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cracklib-dicts-2.8.9-3.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-headers-2.6.18-8.el5.i386.rpm

Probably at this point you could --force things along as you have 
resolved all the dependecies against the new stuff ignoring the 
(installed). We should keep going to resolve all the installed dependencies.

Another 3 hours:


rpm -U 
http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-8.el5.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.14.EL-1.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/autofs-5.0.1-0.rc2.42.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/hal-0.5.8.1-19.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/udev-095-14.5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/mkinitrd-5.1.19.6-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nfs-utils-1.0.9-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/procps-3.2.7-8.1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-1.39-8.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-libs-1.39-8.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/selinux-policy-targeted-2.4.6-30.el5.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/kudzu-1.2.57.1.13-1.el5.centos.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glibc-2.5-12.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glib2-2.12.3-2.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/sysklogd-1.4.1-39.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/ntsysv-1.3.30.1-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dbus-1.0.0-6.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dbus-glib-0.70-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openldap-2.3.27-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glibc-common-2.5-12.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/SysVinit-2.86-14.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cryptsetup-luks-1.0.3-2.2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dmidecode-2.7-1.28.2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libusb-0.1.12-5.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libvolume_id-095-14.5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pm-utils-0.19-3.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nash-5.1.19.6-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libevent-1.1a-3.2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/selinux-policy-2.4.6-30.el5.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libgssapi-0.10-2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/krb5-libs-1.5-17.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/chkconfig-1.3.30.1-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nfs-utils-lib-1.0.8-7.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/policycoreutils-1.33.12-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/hwdata-0.194-1.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-2.4.3-19.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/newt-0.52.2-9.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssl-0.9.8b-8.3.el5.i686.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssh-4.3p2-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssh-server-4.3p2-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libselinux-1.33.4-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pam-0.99.6.2-3.14.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pciutils-2.2.3-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libselinux-python-1.33.4-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libsemanage-1.9.1-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libsepol-1.15.2-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/audit-libs-1.3.1-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/audit-libs-python-1.3.1-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/module-init-tools-3.3-0.pre3.1.16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/db4-4.3.29-9.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/readline-5.1-1.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/slang-2.0.6-4.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/mcstrans-0.1.10-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cracklib-2.8.9-3.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cracklib-dicts-2.8.9-3.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-headers-2.6.18-8.el5.i386.rpm          
http://mirror.centos.org/centos/5/os/i386/CentOS/NetworkManager-0.6.4-6.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/glibc-headers-2.5-12.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cyrus-sasl-2.1.22-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libuser-0.54.7-2.el5.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/sendmail-8.13.8-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/nss_ldap-253-3.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-ldap-2.2.0-2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/squid-2.6.STABLE6-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/apr-util-1.2.7-6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/httpd-2.2.3-6.el5.centos.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cyrus-sasl-lib-2.1.22-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dhcdbd-2.2-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/wpa_supplicant-0.4.8-10.1.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libnl-1.0-0.10.pre5.4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/apr-1.2.7-11.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/gnupg-1.4.5-12.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/krb5-workstation-1.5-17.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/authconfig-5.3.12-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/netconfig-0.8.24-1.2.2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/setuptool-1.19.2-1.el5.centos.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cyrus-sasl-md5-2.1.22-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cups-libs-1.2.4-11.5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/net-snmp-5.3.1-14.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/net-snmp-libs-5.3.1-14.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/OpenIPMI-2.0.6-5.el5.3.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/lftp-3.5.1-2.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pyOpenSSL-0.6-1.p24.7.2.2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/stunnel-4.15-2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/wget-1.10.2-7.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/xmlsec1-1.2.9-8.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libwvstreams-4.2.2-2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pam_ccreds-3-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dhcpv6_client-0.10-33.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/ipsec-tools-0.6.5-6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/bind-libs-9.3.3-7.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/openssh-clients-4.3p2-16.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/bind-utils-9.3.3-7.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/curl-7.15.5-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/neon-0.25.5-5.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/ntp-4.2.2p1-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/perl-Crypt-SSLeay-0.51-11.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-common-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-cli-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-pgsql-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/gnutls-1.4.1-2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libpng-1.2.10-7.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/lm_sensors-2.10.0-3.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/perl-String-CRC32-1.4-2.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/postgresql-libs-8.1.4-1.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/xmlsec1-openssl-1.2.9-8.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/audit-1.3.1-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/db4-utils-4.3.29-9.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/lvm2-2.02.16-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/perl-5.8.8-10.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/bc-1.06-21.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/ftp-0.17-33.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/parted-1.8.1-4.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/sqlite-3.3.6-2.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/guile-1.8.0-8.20060831cvs.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-gd-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/php-pdo-5.1.6-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libgcrypt-1.2.3-1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/libsysfs-2.0.0-6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/device-mapper-1.02.13-1.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/cyrus-sasl-plain-2.1.22-4.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/swig-1.3.29-2.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/apmd-3.2.2-5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/util-linux-2.13-0.44.el5.i386.rpm 
http://apt.sw.be/packages/monit/monit-4.9-1.el5.rf.i386.rpm

(Monit is from Dag repository)
Notes: RPM warned that the hal upgrade script broke, however, it does 
not seem to affect the operation of the machine.

6. RPM and yum will now be broken. Took me a little while to resolve the 
problem, but this is what is needed to upgrade both:

rpm -U 
http://mirror.centos.org/centos/5/os/i386/CentOS/yum-3.0.5-1.el5.centos.2.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-4.4.2-37.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-libs-4.4.2-37.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-python-4.4.2-37.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-build-4.4.2-37.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/beecrypt-4.1.2-10.1.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/beecrypt-python-4.1.2-10.1.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/popt-1.10.2-37.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/elfutils-libelf-0.125-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/elfutils-0.125-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/elfutils-libs-0.125-3.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/yum-cron-0.1-1.el5.centos.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/yum-metadata-parser-1.0-8.fc6.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/yum-updatesd-3.0.5-1.el5.centos.2.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/dbus-python-0.70-7.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/pygobject2-2.12.1-5.el5.i386.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm 
http://mirror.centos.org/centos/5/os/i386/CentOS/m2crypto-0.16-6.el5.1.i386.rpm

6b. Kill the RPM database. Since we upgraded rpm and db4, rpm is going 
to complain about a database error. Resolve by:

cd /var/lib/rpm
Either rm __db.* or mv __db.* ~, your choice.

rpm --rebuilddb

7. yum upgrade. This should now work. There may be a few orphaned 
packages that will break yum upgrade. Remove them. Take note of various 
conf files that get renamed (warning: /etc/httpd/conf.d/mrtg.conf saved 
as /etc/httpd/conf.d/mrtg.conf.rpmsave) You will likely track them down 
later to see whats changed to restart various services.

8. Reboot. Here is your biggest test. Will the machine come back? Now is 
a good time for a sin break...cigarette, alcohol, newgrounds.com or all 
of the above. Mine did, if yours does...this guide is vindicated. If 
not...prepare for an OS reinstall fee or a long drive to the data center 
and alka seltzer.

9. Victory!
 uname -a
Linux locke.citizendium.org 2.6.18-8.1.1.el5 #1 SMP Mon Apr 9 09:46:54 
EDT 2007 i686 athlon i386 GNU/Linux

10. Expect some services to have failed on startup. In my instance I had 
to alter and restore httpd.conf and squid.conf to get the services back 
up. You should also restore things removed that are likely needed on the 
system:
yum install gcc
yum install ImageMagick

etc