Like many developers, I have several virtual machine (VM) instances for testing different projects. I also tend to keep a few of these virtual machines around for some time for those long running projects spanning multiple years. The vast majority of my VMs are linux based. One of my oldest VM’s is an Ubuntu 10.10 instance. It has all the tools and packages I need for the project that uses it, until recently.
Since I didn’t want to mess with keeping my Ubuntu VM on the bleeding edge for fear of changing the environment, I only accepted critical fixes. I also saw how dog slow the default Ubuntu desktop was in Ubuntu 11.04 (and beyond) and didn’t want to mess around with replacing the desktop. As with most good linux distros, they just work – why mess with them.
Support for Ubuntu 10.10 ended in April 2012. Not a big deal, unless you need to install additional packages, which is exactly what I needed to do. The package manager no longer talks to the proper server – not so bad, a simple tweak and we’re talking to the archive server. But one of the packages that I needed to install has critical fixes in it that are in a newer version. Again not that bad I can build from source except the new version has kernel dependencies. Welcome to upgrade hell.
Most of this pain could have been avoided had I had the sense of mind at the time I created this VM to have an LTS (long term support) version. This would have saved some of the pain and would have possibly allowed me to install a new enough version of the package I needed. I say possibly because there may be cases where it would be most expedient to just install a newer version of the OS. Bottom line: installer beware, LTS is your friend.