Arch Linux is a Linux distribution. I’ve been running it on my old (circa 2000!) laptop since 2007. I initially installed it because the installer was basically a shell script, and I thought this was awesome. (Sadly, this is no longer true. It is now installed via a framework. Ugh.)

It is a rolling release, so assuming that you update frequently, you’ll always get the latest bits. This is, in some ways, rather nice. Of course it is unsuitable for servers or other machines where reliability and consistency trump novelty, but for a desktop machine where occasional downtime isn’t the end of the world, it’s not an unreasonable choice.

However!! In my experience, the pleasure of running Arch has steadily diminished since 2007. Not only is installing it now a pain (esp on my very-resource-constrained old machine), but the maintainers have pushed several breaking updates down the pipeline. Not without notice, mind: these updates have all been announced on the Arch Linux website front page – but even so... Really?

BSD systems subscribe to the ideal of POLA: the principle of least astonishment. Updating your system should not fundamentally change anything. Maybe there is a new way to do something, but it is always opt-in, not opt-out. You have to choose to apply fundamental changes to your system. This is very important, as many BSD systems are headless servers sitting somewhere far away and hard to reach physically. If some random update – that, sure, was announced on the home page – breaks your system so it fails to boot, you are in deep shit. Now you have to drive across town (or worse) and waste a bunch of time – just because someone saw fit to introduce a breaking change.

I think in part because Arch is a rolling release system, and certainly in part because they do announce such changes – they feel no compunction about making changes like this, but I’m finding it increasingly annoying to use. Does it really make sense to feel fear about updating my system? That something will go wrong and I’ll have to spend several hours fixing it? I have definitely gone without updating for months, in order to avoid the possibility of pain.

In addition to needing periodic surgery, an Arch install can subtly “go bad” as well. The S3 Savage X server, which used to work fine, now hangs the machine. And when using clang in place of gcc, I have to specify -march=i686 to avoid getting illegal instruction faults in code built with clang.

This, to me, reeks of sloppiness. Arch comes in two flavours: i686 and x86_64. The i686 version – which I’m running on my old laptop – should work for anything Pentium Pro or later. But they have clearly built the X server with a later architecture, and have built clang to default to building for a later architecture; otherwise, both should work fine on my machine.

In their defense, I haven’t filed bugs for these two problems. Clearly not many people are truly running i686 systems! Most are running 32-bit Intel processors from a later architecture that don’t barf on the illegal instructions (illegal for Pentium Pro, anyway) that get generated.