Getting Started with Arch Linux

We recently asked readers for requests on new articles you’d like to see (and thanks for all the great ideas!). One such request was a beginner’s guide to Arch Linux. As a Linux distro addict, I’ve heard of Arch many times over the years but for some reason, I’d never actually given it a shot. In particular, one aspect that’s always interested me has been Arch’s homegrown package management system, pacman. Today we’ll be finding out what Arch is all about, how to use it, and what makes it special.

About Arch

Arch does not come as a complete, all-in-one pre-built shiny desktop OS. This is on purpose. The idea behind Arch is that upon installation, you’ve got a fast, light, minimal OS to use as the base to make your own shiny desktop. If you don’t like the idea of putting together your own version of what Linux should be like, then Arch may not be for you.

Installation

The Arch website provides torrent links here. The FTP ISO is the “netinstall” version, where packages are downloaded as needed during the install. The Core ISOs include the core packages on the disc, so that you can complete an install without a working internet connection. Download whichever you like, and burn to CD to begin the install. I’ll be using the FTP ISO for this article. That’s the recommended method, as it will download the newest available versions of all packages, instead of installing old ones from the CD which must be upgraded later.

Once you boot the CD, you can begin the installation process by entering

/arch/setup

at the command prompt. You’ll be taken to a text-based installer. Most of the installer should be fairly easy to navigate for an experienced Linux user (Arch’s target audience, and therefore the target audience of this article) so I won’t cover the installation in much detail. The Arch website offers a comprehensive install guide that you can use if you run into any trouble. I will, however, include some screenshots of the installer so you can see what you’re getting in to.

archlinux-install02

archlinux-install03-choosemirror

archlinux-install06-packageselection

Package Management

Once the install is complete, it’s likely the first thing you’ll want to do is install some new packages (like Xorg and a desktop environment). First, let’s make sure pacman is aware of all the available packages. By default, it will use whatever mirror you chose during installation. To tell pacman to refresh that list, enter

pacman -Sy

archlinux-pacmanSy

If you have any problems with that, try changing the mirror by editing /etc/pacman.d/mirrorlist. Comment out your current mirror and choose another from your region. Make sure that you see extra in the sync. That’s where you’ll find many of your common packages. If all went well, you’re ready to install some packages. The command to do that is

pacman -S (package name)

Here’s an example of pacman installing my favorite window manager, Window Maker.

archlinux-pacmanS

Some common pacman options include..

pacman -R (package name)     #To remove a package
pacman -Ss (package name)    #To search for packages
pacman -Si (package name)    #To get info about a package
pacman -Syu                  #To sync with mirror and update system
pacman -U path/to/package    #To install a local package file

System Config

Before starting X, there are a few things left to take care of. You may have noticed that the install never called for a non-root user to be created. Now’s a good time to create that user manually, and install some other useful apps like sudo.

There are a few packages you’ll probably want to install before starting X.

  • xf86-input-keyboard
  • xf86-input-mouse
  • hwdetect
  • xf86-video-(your video card type)

Finally, generate an X.org config by running

X -configure

and copy the resulting config to /etc/X11/xorg.conf.

Also, it’s quite possible that you’ll need to tell X to load your desktop of choice by entering that executable into your new user’s .xinitrc file. On mine, for example, I had to include

exec wmaker

Optional

Arch has a tool called hwd that does a great job of detecting hardware and configuring X. It’s part of a group of packages called AUR, which are unofficial and created by users. Unfortunately, getting AUR packages set up can be a rather complicated process. There’s a useful tool called aurbuild that makes the process much simpler, but that too is also an AUR package itself, so it’s kind of a chicken-and-egg situation. I’ll list out the process for acquiring aurbuild as well as I can here, but I make no promises as to whether or not it will work.

pacman -S python fakeroot make gcc patch
wget ftp://ftp.berlios.de/pub/aurbuild/aurbuild-1.8.8-1-any.pkg.tar.gz
pacman -U aurbuild-1.8.8-1-any.pkg.tar.gz
aurbuild -s ddcxinfo-arch
aurbuild -s hwd
hwd -xa

If I’ve missed any steps, please let me know in the comments and I’ll update this section.

Conclusion

It’s hard to come up with an opinion about Arch, since Arch is what you make of it. I like that it gives so much control to the user when it comes to system configuration, but at times it feels like a little too much control. There are a few things that make you think “come on, does this HAVE to be manual?” but the developers are clearly just trying to follow the Arch philosophy of giving the user all the control. In particular, it would be nice to have tools like hwd and aurbuild as part of the system, or at least available for installation through pacman. That may happen at some point as packages in AUR have a chance to be worked into the community repo eventually. Overall I think I like Arch and pacman, and I can see how it would make a great choice for systems that should be kept fast and clean.