Arch Linux is a bleeding-edge distribution built from the ground up using Linux From Scratch as a base with a driving philosophy: keep it simple. However, I've come to learn that simple doesn't mean easy. The Arch Linux definition of simple means that GUI tools should not hinder the full capability of individual software packages. This philosophy engenders a minimalist approach, and Arch clearly defines itself as targeted to "competent Linux users." However, don't let this phrase scare you off. There exist plenty of well-written documents on the ArchLinux wiki and forums to help you out, as well as a wonderful community to aid and assist you if all else fails.
Several features set Arch apart from other distributions. Core support in Arch is built around the i686 architecture, which precludes all computers older than a Pentium II, but ports are under way to include i586 and AMD64 platforms. Use of the i686 architecture provides an immense speed difference compared to a similar install of a distribution on the same machine that is compiled using i386 compiler flags. The speed boost is further enhanced by the BSD-style init scripts. While Arch's init scripts will seem natural if you are a BSD or Slackware user, they sometimes cause problems when programs such as VMware expect a System V-style setup. It takes a little getting used to, but I have found the simplicity of the design to aid in my maintenance of my machine.
Arch's package management system, known as Pacman, makes software management simple. Understanding pacman involves understanding the release schedule of Arch. The distro has two main repositories, release and current. In the release repository, a stable snapshot is taken every so often and released as a major revision (currently at 0.7.1). The current repository is constantly evolving; in this way Arch models a BSD model. Issuing a simple
pacman -Syu command will sync your computer with the most current version on the main servers. The landscape of Linux is constantly growing, and having the ability to quickly synchronize my snapshot makes administration easy.
Another main proponent of Arch Linux is the Arch Build System (ABS), which allows users to quickly and easily customize packages to upgrade to newer versions of software, modify existing software to include or remove specific compiler flags, or create and contribute packages back to the community. Packages are built using simple scripts known as PKGBUILDS. Anyone with basic knowledge of program compilation can easily make a script. Within minutes of reading the documentation I was creating packages for my own system.
If you can't find a package in one of the official Arch-sanctioned repositories, you can visit the Arch User Repository (AUR), a site where ordinary users can contribute source code for packages back to a centralized area for others to scan and download as needed. You can download and build the lesser-known packages here using Arch's pkgbuild command. Eventually, these packages are voted on by users to determine whether they should be included in the main Arch repositories.
One of Arch's most interesting ideas is that of a Trusted User. A TU is a contributor who has contributed greatly to the advancement and maintenance of the distribution. This idea is not too far removed from a package maintainer in any other distribution, except for the fact that TUs are voted in by peers based on the quality of the packages they have voluntarily submitted to the AUR. TUs may submit binary packages that will be included in the community repository. Eventually, TUs may become core developers and submit packages for the Arch-sanctioned repositories. The entire system is built on trust: Core developers at the top, TUs in the middle, and regular users at the bottom. I find the democratic aspect of the system refreshing in a sometimes overly political Linux landscape.
Much of my day-to-day work involves doing security audits on my network as well as remote administration. I expected many of the programs I use would not be available upon install -- programs like Nessus, Metasploit, Nikto, Nmap, and Xprobe2. To my surprise, many of these programs were in the extra repository, and were a simple
pacman -S package away. Packages that were not in official Arch repositories were available in the AUR for me to build on my own within minutes.
Arch is a small Linux distribution, and while this is one of my favorite things about it, it can also be one of its largest faults. The developers keep watch on a large set of packages, and sometimes they are not able to update to the most bleeding-edge versions, much to the angst of the users. This is addressed by allowing the community to flag a package as out-of-date so that developers will know what packages to update. In addition, a new movement for a security team is in the works to help out the more security-conscious members of the Arch community.
Overall, I'm a proponent of using "the right tool for the job." At my workplace, I manage a series of Windows and CentOS machines. At home I have a border firewall running OpenWRT, a MythTV-based PVR running on Red Hat, and a file server running Debian, but the distribution that I use for my desktop is Arch Linux. Arch gives me the flexibility to tinker, ease of maintenance, and power. If you haven't quite found a distribution to stick with, take a look at Arch.
James Fryman is an IT manager for a small company in Newport News, Va.
What desktop OS do you use every day? Write an article of less than 1,000 words telling us what you use and why. If we publish it, we'll pay you $100. (Send us a query first to be sure we haven't already published a story on your favorite OS or have one in hand.) In recent weeks, we've covered SimplyMEPIS, Xandros, Mac OS X, Fedora Core 3, Ubuntu, White Box Enterprise Linux, Mandriva PowerPack 2006, Slackware, SUSE, GRML, Kanotix, Gentoo, VectorLinux, CentOS, Damn Small Linux, Frugalware, Kubuntu, and PCLinuxOS.