Chris Richards wrote:
My other box is Gentoo, and I quite like it. The biggest problem I had with it was that about a year ago when I was give control of it, it hadn't been synced in like 3 years, and it was so woefully out of date that when I tried to emerge -upDN world, it couldn't reliably upgrade because some packages no longer existed, including core packages (and the system profile).
I was once in this position with a redhat box and it turned out that you can't even update it from 3 years ago because they make you re-install every couple of years to put on a new OS...
I can kind of imagine what might of happened though - was it a hardened profile by any chance? There was some trickiness with upgrading Python a couple of years back (as in if you were that far out of date) where portage needed a newer version than the older one would install. It was fairly simple to work around if you were familiar with the issues, but yes I agree it wasn't ideal.
Other than that, the only problem I've had was when a Metalog (sysloger) update came out that caused my entire system to hang at boot because the portage package didn't properly move a couple of files.
Sounds like you aren't using vservers yet?
I build a minimal server on the bare iron and then immediately tar it up and copy it into /vservers/template. Then I use the vserver project to make it simple to "boot" this chrooted version and customise it a little and that then forms the basis for all my real servers. I usually keep about 3 template servers, one vanila-ish install, another setup for PHP apps, and another for some rails apps.
Additionally you can easily test out your latest upgrade by simply copying a vserver somewhere, boot it, run the upgrade and then shut it down again. Bonus points for using a central package dir so that actually when you go back to your proper vserver and run the upgrade it actually uses the binary packages and updates in a few seconds...
I bind mount all the dirs in my vservers which contain data to some other central storage. This means for example my dovecot vserver is quite small and quick to take a copy, but when you are inside it I bind mount all my maildirs into place. This makes it much simpler to copy vservers around and boot them up optionally pointing at the same live data as the original vserver (at the same time if you wish)
There is nothing stopping you from starting to convert your current servers to this setup. Just get a compatible kernel on there at your next opportunity. Then grab a roughly suitable stage 4 and unpack it somewhere. "boot it" and recompile it to the state you actually want as your base template. Then copy it a couple of times and start moving live services into each vserver one by one. So you can have DNS in one, mail in another, amavis scanning in another, etc. It's probably fairly easy to move services one by one this way without any great hassle and eventually you will be all converted except that the base OS is more messy than it needs. Still it will then be easy to migrate the vservers between real machines and you can clean down that physical server and easily rebuild the base os without anyone noticing...
Good luck
Ed W