Arch – The Art of Keeping It Simple

As I wrote in one of my former entries, Arch Linux is always my go-to GNU/Linux operating system when I get tired of excessive bloat, big-name distributions or simply too much pre-installed software. Setting it up takes 15-30 min for a rather seasoned GNU/Linux user and once ready, it never needs to be re-installed. I feel a good mixture of simplicity, default and a swift package manager is exactly what drives the GNU/Linux ecosystem.

Frankly, it’s quite shocking how a lot of major distributions like Ubuntu or openSUSE break after some time. There is a major version update, lots of apps upgraded, configuration files replaced, etc. Things are bound to go wrong. Unless of course, one runs an LTS-like version or distribution, which hardly receives any updates. Many updates vs no updates is always a tricky matter, though to me lack of updates = stagnation and it’s mostly suitable for mission-critical environments. I don’t run any servers and on a desktop a minor setback here and there is not a deal breaker.

This brings me to the matter of maintainability. Arch Linux offers cutting-edge software, however it’s by no means harder to maintain. In fact, it’s easier to maintain, because software updates arrive individually and one doesn’t have to go through risky release upgrades every 6 or so months. In other words, Arch Linux sports a rolling-release model. While other distributions struggle with transitions between releases, Arch Linux just keeps going.

Cutting-edge software is considered to be directly linked to poor stability. This is highly debatable and depends largely on the extent to which particular GNU/Linux distributions customize software. The more changes and deviations from upstream are introduced, the more likely a piece of software is to become unintentionally buggy. Upstream projects test their software before shipping, because they want to know it works. However, they cannot account for nor expect what downstream projects do with that software. Arch Linux tries to stick to upstream defaults when possible to limit this issue and increase interoperability with vanilla software. In addition, some projects offer development and stable/LTS versions of their software (for instance, the Linux kernel) to guarantee further stability. Hence, Arch Linux on an LTS kernel can be considered very stable in terms of continuous driver support.

Lastly, we have simplicity. From the pacman package manager, through configuration to dependency resolution. Everything is made simple, because it doesn’t need to be complicated! For instance, how easy it is to install Skype on any distribution besides Arch and its derivatives?  On Fedora, openSUSE and Ubuntu it involves downloading the outdated binary from Microsoft’s website and then somehow trying to get it to install. On Arch Linux it only means enabling 32-bit support (on a 64-bit system) in /etc/pacman.conf and issuing a package manager installation command, which takes care of everything else. What if an app is not available in the main repositories? Again, no problem for Arch Linux, as that app is most likely present in the Arch User Repository (AUR), even if it is very exotic. I noticed that AUR often contains packages not available to other GNU/Linux distributions and preparing a PKGBUILD for installation is far easier than a .deb or .rpm package.

To sum it up, I think Arch Linux is doing a fantastic job at proving that less is more and the KISS (keep it simple, stupid) principle is valid nowadays as much as it used to be in the past. In addition, it makes for a very reliable base for other downstream projects like Antergos, Manjaro, Chakra, etc. Not to mention that it is the sole GNU/Linux distribution that booted on any hardware I tested thus far. I think Arch Linux well deserves the praise and recognition it often receives!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s