Arch vs Ubuntu: My thoughts on reliability

Technology Nov 3, 2020

I use Arch Linux and against the common conception around it, I consider it more reliable and less annoying to use than other Linux derivatives. In this post I will tell you about my experiences using it and why I think in this way.

Disclaimer: I talk about Arch Linux and Ubuntu in this post. They are just the examples that I am most used to and I know that many of the same points can apply to other combinations of Linux distros that are rolling-release and minimal, vs. more fully featured release based distros.

The journey starts

It's been a few years now since I started my Linux journey. I started out with Kubuntu, on a laptop I only used for school, as it felt the closest to what I was used to with Windows 10. I really liked the system for its speed and its inherit trait of trying to get out of your way and letting you focus on what you want to achieve.

I had some trouble with my main computer but eventually installed Manjaro KDE on it, as it was the only system that didn't completely freeze after a few minutes with my Nvidia graphics card. This is where I discovered the Arch User Repository (AUR), where users can upload install scripts (PKGBUILD) for programs. It was very refreshing in comparison to Ubuntus way of installing software, which often included having to add some ppa that you found online, just to get a recent or even any version of the program you wanted to install. The AUR just has every program I could ever want in its most up-to-date version, ready to install in a few seconds. But eventually I broke my Manjaro install by trying to switch to an AMD graphics card and in the progress running commands, that I probably shouldn't have.

After these initial steps I almost completely fell back on using Windows for a few months until I wanted to get a different laptop for university. The internet lured me into getting an old Thinkpad T420, and because it only cost about 140€ at the time, I fell for it. And I fell hard, because I was determined to try out Arch Linux, as I didn't want to butcher the Thinkpad with Windows 10 and I just felt up for the challenge. So I dove in, head first, and did my first Arch install and it, surprisingly, worked on the first try.

Where I am now

So, where do I stand now? It's been about 2 years since I installed Arch on my T420 and the installation has kept up fine. I even migrated it onto a new SSD and in the process started using LUKS full disk encryption. The best way to describe it: It just works.

On the other hand I have two server machines: One is a VPS and the other one is a Laptop that serves as my homeserver. Both are running Ubuntu Server and they have consistently given me more headaches than Arch ever had. By now I feel like it is a certainty that something will break in unexpected ways, whenever I do any release upgrade. Even if it is just a really minor one, like 20.04 LTS to 20.04.1 LTS where my Pi-Hole DNS broke and to this day I have no clue how to fix it.

The question I have continuously been asking myself is: Why do I have such a different experience, using these two Linux distributions compared to the experience I thought I would have, according to the internet? There were several different trains of thought that I had embarked on, but these one seems the most logical to me:

I think it has to do with the way that these two distributions have to be treated by their users. With Ubuntu or similar release based distributions one can make configuration mistakes that go unnoticed until a release upgrade hits and upgrades a lot of packages under the hood. With Arch these mistakes will come up way sooner and more distributed. For example: I run a php application on my server that I had set to use php7.3 in my nginx config. This worked fine for a long time, but after a release upgrade it broke, as php7.3 was upgraded to 7.4. If my server would have been running Arch, I would have noticed way earlier and I would not have to fix the issue together with a list of other ones that hit at the same time.

Furthermore, if anything breaks on my Arch installs I feel like in most cases I can better understand the underlying issue. This is because I have assembled the system pretty much from the ground up, manually selecting and installing everything I need. With Ubuntu a lot of things are already there and ready to be used, so you just do without questioning it until, at some point, something goes wrong and you have no idea what is even causing the issue.

Conclusion

Now what does this mean? Should we all be using Arch for all of our systems? No, I don't think so. Even though I have grown to really like Arch Linux for my personal computer usage, I would not install it on my servers, as I would have to invest more time to keep them updated and reboot them more often to apply kernel and systemd updates.

And it also comes down to personal preference, whether you like to take a big chunk of time to do a release upgrade and get everything that breaks fixed up, or if you would rather have smaller things go wrong more often.

I have recently went down the path of migrating a lot of my self-hosted services on my VPS to Docker, to decouple them from the release upgrade process. Thus, in theory, there are less parts that are reliant on the base system and thus less can break, when the next upgrade comes around.

At the same time I am exploring other OS choices that I can potentially test out on my Laptop homeserver in the future.

Tags