Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
One of the most common issues I see among newer Linux users is the desire to upgrade their distribution needlessly to a new bleeding-edge version. This is especially true with those who use Ubuntu and its derivatives. In this article, I'll explain why most people would be much better off sticking to stable distribution releases that have been "in the wild" for six months or longer.
If It's Not Broke, Don't Fix It
I'll be among the first to toss a brand spanking new release of my favorite distro onto a test rig. It's fun getting to see what's new. But to do this blindly with a production box is just asking for trouble. To be fair, I've had perhaps three show-stopping issues with Ubuntu-based derivatives – ever. By show-stopping, I mean issues that nothing I did provided me with a workaround solution to a serious bug.
I've had oodles of minor issues that were fixable but also proved to be a time suck when stacked on top of one another. Ten minutes here, twenty minutes there — after a while I found that using bleeding-edge releases wasn't really where I wanted to spend my time. To be clear, these issues were incredibly minor, and for most folks would be annoying at most. But I have a desktop experience I like and changes to it bother me deeply.
This also meant that "rolling release" distros weren't a good fit for my desktop expectations either. Unlike fixed releases, rolling releases have both bug fixes and new bugs with greater speed and frequency because updates happen more often. These issues aren't insurmountable, but making "minor tweaks" every few days wasn't a great match for my desktop needs.
The bigger takeaway here is this: if your current setup is working great, stick with it. So long as security updates and packages are supported for the release you're using, you may be happier sticking with it. This is also why I advocate virtual machines, live USB testing and secondary PCs for trying out the latest and greatest. This allows you to try stuff out without jumping in head first on your daily production rig.
So who should upgrade to the latest release of Ubuntu and its derivatives? Certainly not most people in my opinion. Unless you purchasing bleeding-edge hardware on a regular basis or find a bug in a desktop environment that is fixed in a newer release, most people should stick to what's currently working.
To be completely clear – do try out the latest and greatest, but don't do so on a production PC. For me, it's simply a matter of how I want to spend my free time: Restore a previous distribution release or hang out with friends and family?
As a side note, one could argue that taking a snapshot of one's current setup would allow them to have their cake and eat it too. I'd argue that would require one to take said snapshot accurately or configure their system to do so automatically...with a degree of accuracy. For many folks, this would be a leap of faith.
Rethink Your Desktop Environment
Over the years I've found that XFCE and GNOME 2 (now MATE) have provided me with the most bulletproof user experience. This has allowed me to stick with a Ubuntu LTS derivative longer because I'm not looking to "fix" desktop environment bugs that one might define as show-stopping.
I honestly can't say the same of other desktop environments. I completely agree that KDE and GNOME 3 are very attractive, feature-rich desktop environments. However, I've also found over the years that they're hit and miss in terms of issues that bother me. A bug here, a broken extension there. Sure, they are fixed a few months later, but they disrupt my expectation of how my desktop should function.
Now to be fair, I've had very positive KDE experiences with OpenSuSE Leap and PCLinuxOS. This makes sense as both of these distributions focus on stability. By contrast, KDE on bleeding-edge distros tends to be where I've experienced my hit-or-miss moments. Same with GNOME 3 – using it on a stable branch of Debian feels great, but using it on a freshly released distribution leaves me open to the common issue of "GNOME extension catch up." This is a fun game where you install GNOME 3 and see which extensions have been disabled or broken with the desktop update. Again, some of you won't care – others like myself depend on many of those extensions for a fluid desktop experience. The single worst offender with broken extensions after upgrading to a new release was Linux Mint with Cinnamon.
In my experience, the most stable desktops are those that change the least — at least, with regard to extended functionality such as applets, indicators and extensions. Obviously, there are exceptions to this rule as any piece of software can end up with bugs. But generally speaking, I've found XFCE/LXDE and MATE to be the most reliable desktops.
Therefore by sticking with an LTS release of your favorite Ubuntu derivative, you'll minimize any chances for new bugs to be introduced. Again, I didn't say you're totally free from new bugs or regressions. You're simply minimizing new opportunities for new issues.
Do You Really Need a New Kernel?
One of the oddest things I've seen in recent years is this obsession with having the latest Linux kernel installed. While one could make a case for staying current on brand new hardware, generally speaking, it's totally unnecessary. Your LTS release addresses kernel security with each new update offered. And unless you're looking to upgrade to a new kernel to help with power consumption, performance or a needed new feature – stick with what's provided.
Why introduce a new kernel using PPAs or a non-LTS Ubuntu release just to "see what the new kernel feels like." Newsflash folks: it's going to feel a lot like the previous version. As I mentioned before, upgrading one's kernel should be done to address a need, not merely for bragging rights. Most people won't see any benefit at all in upgrading to a non-LTS just to use a new kernel.
Now let me take a moment and explain something a bit deeper. Yes, kernel updates do indeed provide performance enhancements, new hardware support, etc. But unless you've taken the time to read the notes on what the latest kernel is offering that will specifically enhance your PC, there's simply no value in needlessly upgrading to a new distro release.
How I Run Ubuntu and Its Derivatives
Most of my computers that have had Ubuntu MATE installed for a period of time are running version 14.04. There was simply no reason for me to upgrade them as they're configured to my specifications and I know they work great. This is especially true of my wife's Macbook Pro. It dual-boots OS X and Ubuntu MATE 14.04. Why in the world would I upgrade it to a newer version of Ubuntu MATE when the current version works great? I'm not missing anything on that specific machine. Therefore leaving it alone with a supported LTS made the most sense for me.
My daily work PC is a desktop with a fairly current Intel i7 CPU, decent NVIDIA graphics, 32GB of RAM and two hard drives. The SSD runs my operating systems and the HDD handles my user data. This PC triple boots Ubuntu MATE 14.04, 16.04 and Ubuntu GNOME 16.04. My primary desktop for daily work is my Ubuntu MATE 14.04 installation. I know that it's always stable and will work as expected day after day.
The secondary installations are used to see what's coming down the line. By sticking with the LTS release cycle, I can spot issues on my secondary partitions without affecting my daily workspace. I should point out, however, that I often use my secondary partitions for daily tasks. This allows me to find show-stopping issues and be ready for them if they're left unchecked. Obviously, this is overkill for most folks, but it works really well for me. Plus, when someone has a 16.04 question or needs a software review using this release, I can provide accurate results using the relevant Ubuntu release.
What's Right for You?
I covered a lot of ground in this article. I've talked about everything from avoiding "time sucks" with needless troubleshooting down to rethinking which desktop environment is going to be the best for your LTS. The big takeaway I'd ask you to remember is this: find an LTS or stable release and stick with it. Don't fall into the nonsense of needlessly upgrading because everyone else is. Unless you're upgrading to add a needed feature or to correct a bug that's been fixed, stick to a solid LTS and apply those patches.
What say you? Do you think that using the six-month release cycle is a better idea? Perhaps you agree, but prefer to use a non-Ubuntu based distro that also offers a long-term release cycle? Hit the comments and tell me about it.
Photo courtesy of Shutterstock.