# Arch!

When installing Linux distribution XYZ these days, I usually get this "know that, been there" kind of feeling. It's depressing, but the fact remains that there's rarely an outstanding feature or characteristic. Comes with the age, I guess. 😒

If you know the feeling, and despise it, I have something for you which might be just the right antidepressant. 😉

ArchLinux. This distribution is different.

Listen to the current maintainer of ArchLinux, Aaron Griffin, who expresses the "Arch way" in a particularly eloquent and concise way:

If you try to hide the complexity of the system, you'll end up with a more complex system. Layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding.

This is no marketing, no bullshit bingo. It's true. Downlad the 140 MB netinstall and see for yourself. I have never seen a textbased installation which is so very simple and really, truly, entirely transparent. In comparison, all other distributions look like Windows with regard to their transparency.

Technically, ArchLinux strongly leans to the *bsd side, in that it is configured by a central /etc/rc.conf, and foregoes the init system of system V (as also done by Slackware). Furthermore, Arch is a rolling release, meaning you don't have to worry about release dates and misburnt CDs. Instead, the package manager 'pacman' will both update and upgrade your system (with a simple pacman -Syu), and it is exceedingly fast in doing so. Since Arch keeps its packages very close to the originals, there are few patches and essentially no delays. Even without the 'testing' repository you'll always have current packages.

To give you an impression of the 'Arch way', here's the head of the central configuration file, /etc/rc.conf:

#
# /etc/rc.conf - Main Configuration for Arch Linux
#

# LOCALIZATION
#
# LOCALE: available languages can be listed with the 'locale -a' command
# HARDWARECLOCK: set to "UTC" or "localtime"
# USEDIRECTISA: use direct I/O requests instead of /dev/rtc for hwclock
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="en_US.utf8"
HARDWARECLOCK="localtime"
USEDIRECTISA="no"
TIMEZONE="Europe/Berlin"