This won’t take long….

My central mail exchange and web server box turned up its toes last night and developed a bunch of irritating r/w errors on the un-raided system disk.

So, I pulled it out and put a new drive in (I have plans to move it onto a VM sometime soon, as soon as I finish building the chassis that the VM server will run on).

Now, this installation is very old – it has had its hardware upgraded underneath it multiple times with no change to the OS except for the odd dist-upgrade. So the code base is kinda crusty.

Because of this I decided that it’d be smart to do a completely clean debian etch install, and migrate the data over to the new OS and apps.

This wouldn’t, I thought to myself, take long.


When you do this you suddenly discover a whole lot of farty annoying things like:

– PHP5 is different from PHP4
– Apache2 is different from Apache1.x
– Databases cannot be physically bitwise migrated between some MySQL versions – you need to do an SQL dump and re-import to make it work.
– Config files change a lot between versions of all kinds of software

..and you also discover that over the years, you may well have installed a LOT of fiddly little scripts and bits of code that do various things that are quite invisible enough to fall off your radar .. until they go away.

Pain. In. The. Ass.


  1. Also, never assume your boot disks still work after not using them for a couple of years. 😛

    Grr… and the one I’m hating at the moment, never assume that anything bought after 2005 is supported by Windows 98. No retro gaming on the new computer 🙁

  2. hahaha feel… your… pain

    I just finished (today) installing new kaos after nearly a week of migrating things from old KAOS to the new Chassis you installed for me.

    The same things tripped me up.
    * Apache 1 -> 2, php4 -> 5 and mysql migration .

    * Old exim install, it now uses a million little files, who knew?

    * bind has changed enough of it’s formatting that feeding bind9 my zone files from old-kaos generated many “DEATH!! NON RFC COMPLIANT ZONE FILES YOU MORON!” messages

    * You will find also in the comming weeks that etch has some…. interesting idiosyncrasies, such as things like libapache2_mod_auth_mysql completely disappearing from the distro despite being used by many of the web based DNS managers. why? Becasue the guy who manages the package couldn’t get it to compile cleanly on etch (interesting problems with latest glibc) on the last night before freeze and couldn’t be bothered fixing it. That’s just one of _many_ things that change between systems

    * yes.. you do write a lot of crap scripts over the years don’t you? I’ve spent the last week uttering things like “you didn’t _really_ need the last 3 years of web stats do you Helen?”

    So I feel your pain.. if you’re stuck on anything give me a yell I’ve just finished pretty much the same upgrade and while I hav faith in your ability to nut it out.. don’t hesitate to ask about weird shit in case I’ve already spent the 3 days to solve it.

    BTW, reccomendations…

    Munin, awesome
    apt-get install greylistd (you’ll thank me)