For years now I've loved linux. I've met and spoken with Linus Torvalds. I've even
made a pilgrimage to where he wrote it. For servers, and many desktop uses, there's nothing quite like it.
The
core linux system is a beautiful thing. Through uni studies, attending several
linux.conf.au events over the years, and personal interest I've studied multiple parts of the code, and even fiddled under the hood myself at times.
And yet every time it comes to upgrading my highly-customised home server, one or more things breaks horribly, requiring much of my time to fix. These days the distribution I run on the server is
kubuntu - a legacy from when the system was also used as a desktop. This upgrade will hopefully be the last for years, as the latest 10.04 release "lucid" is a Long Term Support release, meaning it will be kept safe and stable for years to come. Good thing, given it's taken me a few weeks to get this far. Here's a log for those who are interested.
Linux is an amazing thing which is capable of complex setups well beyond that which most users would have, and all for free. That just doesn't mean that the complex stuff is easy when it breaks in new and creative ways. It would be a full-time job to keep up with the changes that have happened with this release. I've had to find this out after the fact and spend time patching it all up. I had hoped Canonical (maintainers of Ubuntu/Kubuntu) would be doing this for me, and on the vast majority of hardware-software combinations out there they do very well. I can just see as time becomes more and more precious in years to come that a service doing all this custom work for me would start to look very attractive. Especially when your setup looks like this:
- Dual-core intel something or other, 4GB RAM
- RAID5 using four 750GB partitions across 2x750GB, 1x1.5TB and 1x808GB SATA drives
- Custom-compiled afpd shares the RAID to the Macs in the house
- Backup to external USB hard drives, rotated off-site
- Uplink is ethernet to Airport Express which extends the Airport Extreme network at the other end of the house where the DSL gear is
- Downlink is to a network-attached APC UPS (through my ancient USB Ethernet adapter, no less!), which gets its address from the server using dhcp
- USB IR receiver receives commands from a Twinhan remote
- Two DVB tuners are connected via a powered antenna splitter
- A SVN build of MythTV schedules (using Shepherd) and records (from the tuners) live TV
- A SVN build of MythTVfrontend (although I've been trialling xbmc) displays recorded shows controlled by the remote out through DVI and SPDIF optical audio to my Onkyo HDMI receiver, then on to the 1080p TV.
- Mythweb (with modified PHP and apache configs) runs to allow TV scheduling from a web browser
- Boinc runs in the background searching for aliens and cancer cures. Seriously.
- Lots of other things like mail, NFS, etc. that a server normally does.
Should be simple to upgrade, right?