The Arch Way
You love tinkering with your computer. You've tried Ubuntu and Fedora, and they're good, but you feel something is not quite right. Maybe you don't like all those daemons loading on boot, or maybe you want to build your Linux desktop stack just how you want it? Perhaps you're completely new to Linux and want to learn exactly what makes a Linux workstation tick? It's time for you to try Arch Linux. Arch Linux is often called the binary Gentoo—an appropriate description. Arch gives you a full but simple command-line base to build on, but unlike Gentoo, Arch uses i686 or x86_64 optimized binary packages instead of source code.
This will not be a step-by-step guide on getting an Arch Linux desktop up and running. You can find that on Arch's fabulous wiki. Instead I'll share with you what separates Arch from other Linux distributions and what makes Arch one of the best distributions for a personal workstation.
Arch development is guided by simplicity. The Arch wiki states, "Simplicity is absolutely the principal objective behind Arch development." Most system configuration is done via text files, which may seem complex at first, but is much easier in practice than searching visually through a menu tree. For example, daemons, kernel modules, and networking are all configured in a single text file, rc.conf. GNU text parsing tools included in every version of Linux make finding and editing configuration files a breeze. It's much faster to search for and edit a text string in Vim than to click through endless GUI tabs looking for a radio button.
Arch uses a rolling release model. This means that the repositories are updated frequently with the latest stable packages from upstream developers. The advantage here is that you don't need to reinstall or do a complex upgrade procedure every six months. Do a pacman -Syu (more on the gloriousness that is Pacman below) every few days to keep your entire system updated. This is not to say that an update will never cause problems, but if you encounter problems, in all likelihood there will be a fix posted on the forums or the Arch front page.
The Wickedly Good Arch Wiki
Speaking of documentation, the Arch Wiki is the most comprehensive repository of Linux information out there. Back when I used Ubuntu, I often found the answer to a tough configuration issue on The Arch Wiki. Yes, the Arch Wiki is tailored to Arch, but it can often help you solve problems with other distributions as well.
BSD Style init
Say bye-bye to complicated System V runlevels and their associated symlinks. Most distributions use a System V style init, which has a separate directory for each of its eight runlevels. Arch uses a BSD-style init system, which accomplishes much the same with a simple set of scripts. Need to add CUPS to start at boot? Simply add CUPS to the daemons list in /etc/rc.conf. Done.
I've used many different Linux package managers: pacman, aptitude, yum, zypper, and netpkg. Pacman is hands down my favorite. It's fast. Downloads, searches, and installs are all the quickest I've seen. Full system upgrades are typically problem-free. Arch has five official repositories: core, extra, community, testing, and multilib. Core contains the minimum necessary for a functional Linux system. Core includes the kernel, GNU command line tools, pacman, and networking tools—basically everything you need to start building the perfect workstation. Extra contains packages that are not necessary to a base working system—stuff like X, Gnome, and Apache, for example. Community includes packages maintained by The Trusted Users of the Arch community. These packages are binary compiles of PKGBUILDS from the Arch User repository, and are voted into the community repository by Arch users. Testing is just that, packages that are being tested for stability. Testing is commented out by default in pacman.conf. Use it at your own risk. Multilib provides closed binary applications that are only available as 32 bit binaries, and the 32 bit libraries necessary to run these applications on 64 bit installs. Skype and the Adobe flash plugin are good examples of this.
What happens when the application you are looking for is not in your distribution's repositories? If you run Fedora, you might need to add an unsupported 3rd party repository of questionable quality. If you're running Ubuntu, you hope for a Personal Package Archive. Sometimes you just have to compile from source, and endure the heartache of dependency resolution. On Arch it's pretty simple. Chances are that the app you are looking for is available using a PKGBUILD script from the Arch User Repository or AUR. A PKGBUILD is a script created by a member of the Arch community that takes much of the pain out of building an application from source. The makepkg command runs the PKGBUILD script, detects and installs dependencies, and builds a pacman installable binary package. There's no need to search for any obscure libraries that may not be installed in the core package list.
So there you have it. These are a few things that separate Arch Linux from the crowd, and make it binary awesomeness. This list is far from exhaustive, so if this piques your interest, spend some time on The Arch Wiki and Forums. The best way to get to know Arch, however, is to install it and use it. I promise it's worth your time and effort, and they don't even pay me to say that.
How-To Get Help... Tactfully
You'll find far less hand-holding on the Arch Forums than some of the other distro's forums, and for good reason. Arch has one of the most informative, user-friendly wiki's out there. Do not, I repeat, DO NOT ask a question in the forums or on IRC without searching the wiki and the forums first. If you can't find a solution by searching, include all appropriate log files and as much information as possible in your request. Look at some of the current posts marked "Solved" in the Arch Forums for examples.
Kevin Bush is a Linux systems admin, dad and book-lover who spends far too
much time tinkering with gadgetry.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.