No modern linux system would mount the old drives so I had to find a Debian mirror that still had Sarge 3.1 on it and install that. For some reason Sarge could mount and read the non-failed drive. After getting the data off I decided to rebuild the box with Ubuntu Server 7.04. Do not do this.
I ended up reinstalling 7.04 several times to try to magic out errors. There is a race condition that fails on boot if you have a RAID'd root partition (and why wouldn't you have a RAID'd root partition on a server?). Much googling involved.
The folks at Ubuntu decided to change /bin/sh from a symlink to /bin/bash to a symlink to /bin/dash. All the Ubuntu scripts work with the new shell but older software packages don't. I have lots of old software packages (e.g. apache_1.3.x). More googling that ended with changing the symlink back to /bin/bash. Their thinking was that if people really wanted bash and not just any shell in their scripts they would use bash by name. This thinking doesn't extend to python. Ubuntu scripts expect python2.5 and they get very pissy if you relink /usr/bin/python to an earlier version.
There were some minor wrinkles as well. Packages like qpopper and exim will happily add themselves to /etc/inetd.conf but don't actually require that inetd is installed. Ubuntu's dselect no longer lists available but uninstalled packages so my old method of searching for the exact name of a package doesn't work. Guessing and googling at names proved fruitfull.
And who can forget swap? The swap partition fails to load at boot. Loading it by hand sometimes works but sometimes it says it isn't a valid swap partition. Running mkswap sometimes fixes the problem but sometimes it complains that it can't initialize the swap because it is smaller than 40k (it is 3 gigs). [update this was a problem. The next day when the swap partitioon was first used the box went down again. It is now running with a swap file on one of the partitions that does work]
Most of the time was spent dealing with regular sysadmin-y issues like setting user permissions, copying files, and physically moving computer parts around. Watching progress bars isn't hard but it still takes a lot of time. Speaking of which, I've been up since yesterday so I'm off for a nap before league.