The Case Against Ubuntu (and LTS in General)
This thread is intended to generate discussion and give you something to think about. I’m not right, you’re not wrong, nor are LTS distributions “bad”. To get some specificity, the case against LTS is on the desktop, with a dedicated graphics card and modern (current or last generation) hardware. If you have a ThinkPad X200 and want to run Debian Jessie then you go right ahead, baby, no one is going to stop you.
“Why do you hate Ubuntu?”
Let me preface this by saying that Ubuntu was the first Linux operating system I used in 2011 or 2012. I still use Ubuntu to this day on a few servers and a laptop. I get paid to support software running on Ubuntu servers. But, in my opinion, Ubuntu has repeatedly dropped the ball on their releases. I have struggled to get the OS running on 4th Gen Core i5, 4th Gen Core i7, 8th Gen Core i7, and 3rd Gen Ryzen processors. I have struggled to get graphics working for NVIDIA 900, 1000, and 2000 series cards and AMD RX 500 series cards. Anecdotally, here are some of the issues I’ve encountered:
- Black screen at LUKS encryption password entry
- Failed login (login accepted, screen goes black, asked to login again)
-
nomodeset
and other non-n00b friendly commands required (even in $CURRENT_YEAR) - No graphics after
nvidia-drivers
installed. - No network after update
-
apt
is locked on a fresh install, have to reboot and delete the lock file in order to complete updates (unacceptable) - No graphics after update
- No touchpad after update
The list goes on, that’s what I can remember off hand. This ranges from Ubuntu 16.04, Ubuntu 18.04, and Ubuntu 20.04. Prior to that my Linux desktop existed in virtual machines.
Long Term Support is the antithesis of modern hardware. But, you know what, that’s okay. The point of LTS is, well, “long term” support.
Recently I started asking myself: Why am I seeking long term support for my operating system that is going to run new, leading edge hardware? Why am I constantly fighting up hill to have a modern, sleek, bone crunching system? I didn’t have an answer. I had maybe a soft spot for Ubuntu because nostalgia? Google and Facebook used it, and they know what they’re doing, right?
Enter the bl(reee)eeding edge distributions. The distributions that offer a kernel just late enough at install that your hardware should™ work out of the box. With minimal intervention. Trust Me™, I’m an Expert™. Once you get your OS installed it will be ready for whatever you throw at it, no kernel configuration or driver maintenance required.
I Heard Bleeding Edge is Unstable!
Yes, you did hear that. But you also heard Ubuntu was stable and approachable for beginners, yet you had to run these crazy commands at boot to get it installed and run over to a console to install the proper kernel and drivers for your graphics. Looks like we were both lied to. And I HATE liars.
The instability from the Reeeding Edge distributions comes from several sources. Before I knew what was what, I blamed the distribution and developers. However, I’ve noticed I tend to shoot myself in the foot. A lot. I think I enjoy it, I don’t know. But, the point is, after I’ve set up a system and left it the fuck alone, rarely have I had an issue that wasn’t self inflicted.
Sometimes, though, package maintainers and developers miss something or create a bug and SHTF. You get FUBAR. This is often prevented by reading the “news” of your distribution before running any updates. Some times, right there on the page, there is a heads up and a remediation for any issues that are forthcoming. So bookmark or alias the news sources and check before doing any updates!
I Have to Read? Seriously???
Here is where I step off my soap box (in a minute) and let you do the talking. Yes. You have to read. Before you kick and scream and go back to fixing your fresh Ubuntu install, let me ask you this: Why are you using Linux? Are you using Linux to never use your computer? Just install it and be done with it? Or are you using your computer to tinker, learn software engineering, change the world, build new cutting edge infrastructure, or something else I’m making up to pull at your heartstrings so you ignore the bias in my question?
Reading is part of the job. You left Windows because of $X. I bet if you did a bit of reading on the release notes, $X would have been avoided (don’t taze me, bro). What about that web server? You’re reading some notes about environment variables, concurrency, proxy passing to a port, etc. So, is a bit of reading going to kill your initiative and incentive to run something that will likely be more robust and stable than what you’re using now?
I Don’t Believe You.Gif
“But, if I did, what are my options?”
You have several:
- Arch Linux
- Manjaro (based off Arch Linux)
- Solus
- Debian SID
- OpenSUSE Tumbleweed
- FreeBSD*
- Gentoo**
- Void
- NixOS
“FreeBSD? Gentoo? Are you f’in serious?”
Yes
FreeBSD works on a sync model similar to Arch Linux and Gentoo. FreeBSD also has more up to date packages when compared to Debian, CentOS, and Ubuntu. Gentoo, if you so desire, can have latest upstream and experimental packages, making it a perfect bleeding edge distribution. Debian SID is so edgy I’ve almost bled out, so YMMV on that one. I used it on a laptop with Intel Graphics and Intel WiFi and It Just Worked™ out of the box.
Most people are intimidated by the Arch Linux wiki and the Gentoo documentation. I find that most people aren’t comfortable with taking notes or critical thinking, because they’ve never learned how. Trial and error is part of the gig. I think if you’re going to dedicate some time to learn and are willing to try, it will be impossible to fail. Most people want an instant fix or a quick solution, but most of the time those are an illusion. I hate to keep coming back to my Ubuntu example, but it takes minutes to install and seconds to break. Whereas with Arch or Gentoo, it may take an hour to install, but you’ll have a working machine that likely outlasts your hardware.
I mentioned earlier that if I “leave my system alone” it doesn’t break. That’s not saying I don’t have anything installed:
- Vim
- Golang
- GCC/G++
- Docker
- LXC
- KVM
- KVM Utils
- JetBrains Toolbox
- Git
- Postgresql
- MySQL
- VMware Workstation
- LibreOffice
- NodeJS
- Ruby
- AWS-CLI/SDKs
- Kubernetes development tools
- Firefox
Just to name a few things.
Final Thoughts
Agree? Disagree? Disagree but are willing to try? What do you say?
I still believe that Debian and Ubuntu are viable for servers and application stacks. But I’ve recently changed my tune about running them as a desktop.