Arch Linux: what it is, and why you should use it
If you already know about Linux distributions and would rather read why I think Arch Linux is so great, skip to “The Arch Way.”
The world of Linux distributions is vast. Due to the free and open source nature of the Linux kernel, there are easily hundreds of distributions in existence today, some of which are available for anyone to use, others are private and proprietary, and still others (like the infamous Red Hat Enterprise Linux) are commercial and pricey1.
A distribution can be anything from a bare-bones collection of scripts accompanying a build of the Linux kernel to a full-featured software package, complete with a graphical interface, multimedia or office applications, and full help documentation. (Some distributions even offer customer support.) Since these graphical interfaces and other applications are open source projects themselves, often developed independently from a specific distribution2, a distribution is really just a package of software in addition to the Linux kernel, wherein the maintainers (or developers of a specific distribution) get to decide what Linux kernel version to use, what software to include (and for that matter, how much software to include), and how it all glues together.
These decisions are informed by the goals of the distribution itself and the needs of its users. For example, Ubuntu Linux (oo-boon-too), a very popular Linux distribution first created in 2004, rose out of a desire to build a pleasing, easy-to-use operating system built on Linux, away from the ties of software company giants like Microsoft or Apple. In fact, Ubuntu was (and in part, remains) an extension of another distribution called Debian, a veteran in the Linux distribution ranks.
Debian calls itself “the universal operating system,” and is actually a larger operating system project that is compatible with other kernels than Linux. It is known for its stability, adherence to principle, and rigid community organization, the product of which is an operating system among the most useful and complete Linux distributions in existence today.
So as I propose that you do not use Debian (or Ubuntu, for that matter), I will explain what you should use instead, and why my suggestion might be more useful or interesting to you.
Arch Linux is a Linux distribution started by Judd Vinet in 2002. Vinet originally modeled the project after CRUX, a distribution he had been using, which focused on simplicity and tried to, as the CRUX introduction reads, “keep it simple.” The desire to “keep it simple” embodied the Arch Linux approach so accurately, that even today it describes itself as “a lightweight and flexible Linux distribution that tries to keep it simple.”
The Arch Linux project describes its five core principles (the “Arch Way”) as simplicity, code-correctness over convenience, user-centric, openness, and freedom. Openness describes Arch’s adherence to the philosophies of the software on which it is built: Linux is open in the sense that its source code is open for viewing. Freedom describes not only the freedom to access source code but also the freedom to use the software you want to use.
Simplicity, as the Arch wiki describes it, is “without unnecessary additions, modifications, or complications.” An Arch system has everything that is necessary and nothing that isn’t. In a nutshell, its simplicity lies in the fact that it is minimal. And you, as the owner of the system, get the ultimate control over it.
Contrast that simplicity with distributions like Ubuntu, on whose install disc several gigabytes of software are included, none of which you decided to include, and some of which may not even be open3. At the time of this writing, Arch’s install media comes in at about 500 megabytes, and does not include a graphical user interface. It comes with the tools to set up a basic system and hand over the power to you. This brings us to the first reason why you should install and use Arch Linux.
On my relatively powerful desktop machine with an Intel i5 processor, where I have Arch installed to a 7,200 rpm hard disk drive, the system loads to completion in a little under 15 seconds, from power button press to shell prompt. A test Ubuntu system I installed onto the same drive took over 20 seconds to get to a login screen, and after typing my username and password, took an additional 10 seconds to load all the graphical elements of the desktop and get connected to the Internet.
But while “lightweight” can mean “fast,” it can also mean “efficient.” Much of the Ubuntu software that comes pre-installed I will never use. Ubuntu comes with a full suite of multimedia applications for playing and storing music and movies, storing and editing photos, e-mail software, instant messaging software, word processing applications, and more4. I come to Ubuntu with an existing workflow: I use Google Drive for any word processing tasks, my smartphone for multimedia like music, movies and photos, and I manage my e-mail from a web browser. Since I will never use this packaged software, it will collect dust on my hard drive. Uninstalling the software will take time. I’d like to install software that I know about in advance, and I’d like to install software that I know I need.
Enter Arch. A fresh Arch install contains no software other than necessary to get the system to boot and give you a useful Unix interface to your system. If you know you’d prefer a graphical user interface, you can install it. If you don’t need multimedia applications, you will never waste bandwidth downloading them or waste time uninstalling them.
As you would expect, managing the software that is installed on your Arch system is also simple. In fact, it is one of Arch Linux’s most coveted features.
pacman, the simple (but effective) package manager
Along with the installation media, Arch provides an online
repository of packages to install, and
pacman is the interface
to that repository.
pacman, short for package manager, but
probably a nod to the world’s favorite hungry spheroid, supports
installing packages from the online repository as well as
upgrading, uninstalling, and downgrading packages. The repository
contains binary packages, pre-compiled for 32- or 64-bit systems.
pacman is lean,
fast, and easy to use, after reading either the
or this excellent wiki article.
pacman is a command-line application, fully documented by its
creators. For the curious or tinkering, there is also an unofficial
packaging system called the Arch Build System, which allows
users to download and compile packages from source code.
Another important packaging note is that the
is constantly being updated with the newest versions of packages.
In other words, on an Arch system, software is released to users
as soon as the developers of that software upgrade it. With many
other distributions (Debian and Ubuntu included), new versions
of software are held until the next distribution release. Sometimes
new distribution releases require significant user intervention
or time, and require the user to re-configure their system. Not
so with Arch. Since packages are updated as they become available,
there’s no wait.
Surprisingly, the cutting-edge nature of Arch does not make it considerably less stable than distributions like Debian. This is in part due to the stewardship of the Arch community, who respond quickly and precisely to new software versions causing other packages to break or parts of the system to change. The news section of the Arch website describes changes or issues, whenever necessary, that may necessitate user intervention.
Finally, and perhaps most importantly, Arch’s online wiki is second to none. It should be the first stop for the Arch newbie, unquestionably because it contains the beginner’s guide and the installation guide, two essential resources to Arch users. (The latter guide is useful to users familiar with lower-level Linux, but not familiar with Arch.)
The Arch wiki is known for such high quality writing and coverage that many use it as a resource when their own distribution’s resources are lacking. Most of the time, a wiki page’s coverage of a topic is transferable from Arch to another distribution. Even when the wiki covers a newer version of a software application or feature, the documentation is usually excellent enough to describe the newest version’s new features or the older version’s quirks.
Not only is the wiki an excellent place to go to get help or information,
but Arch’s own software tools (e.g.,
pacman) or base configuration
files have their own offline documentation. Notably, the install media
contains a plain-text version of the installation guide.
In its simplicity, Arch gives you control over a system that is easy to maintain, understand, and expand. This flexibility alone gives it a leg up over other distributions. It is true that there are other minimalist distributions out there (e.g., Gentoo), but I think that Arch occupies a comfortable space between the all-polish distributions like Ubuntu and the daunting task of doing it all yourself (see Linux From Scratch). This is why I choose to use Arch Linux across any systems I can (and use Arch in virtual machines on systems I cannot).
If you’re a Linux newbie, there’s something to be said about learning “the hard way” — starting with Arch lets you build the skills necessary to understand exactly how much software there is between Linux and your favorite graphical user interface. Its simplicity lends itself to learning. It also might spoil you when you discover how poorly designed or documented other distributions are.
If you’re a Linux user, Arch has much else to offer you: a greater understanding of how a Linux system works, how to use the Unix command line, or how package management works. Since the Arch community is full of friendly hackers as well, it might also offer you some friendship or at least a little assistance. It can also offer you a chance to experience the latest versions of the software you use, in an environment stable enough for every day use.
Whoever you are, I hope you consider Arch — at least poke around with it in a virtual machine with virtualization software like VirtualBox. Who knows? You might fall in love with it and decide to write a blog post about it.
To be fair to Red Hat, their Red Hat Enterprise Linux distribution is geared toward large companies that desire an engineered solution guaranteeing homogeneity across a number of machines. Such a large-scale solution comes at an appropriately large-scale price. Enterprise operating systems might also have additional features that allow many systems to use the same authentication server for login and e-mail, and have support for installing software or updates en masse. ↩
More recently, the Linux world has seen a couple of software projects spawned by the maintainers or the community behind a distribution. For example, the Unity desktop environment is a software project started by the organization behind Ubuntu. ↩
Ubuntu has support for “non-free software,” or software whose source code is not available or the licenses for which are not considered free. This non-free software can include the binary code for drivers and other software. ↩
If it seems like I have a serious anti-Ubuntu bias, I do. Though I recognize that Ubuntu has a very important and useful role in bringing Linux to the masses, I think many users would benefit from seeing more about the working of a system and less about its polish (see feature bloat). ↩