Arch Linux version 0.6 (Widget) Review
Open Source (Free)
I am a recovering distribution junkie. I would obsessively spend my time at Distrowatch, looking for something new. There were plenty of exciting releases. After a while, the excitement would wear off, and the sexy distribution I installed would have some annoyance, so I would dump it and look for something new.
Then I met Slackware 9.1. The package manager Swaret made upgrading easier. Linuxpackages.net gave me all the apps I needed. The trinity of "configure, make, make-install" combined with Slackware's simple layout made programs not available as a package fairly easy to install. The 2.6 kernels worked well with it. It was nice to stick with a system, keep it up to date and learn.
I began to enjoy distribution monogamy, but old habits die hard. Mandrake 10 came out, and I fooled myself with memories of Mandrake 9.1. The comfort of urpmi, the Mandrake Control Center and easy installation beckoned. I erased my lovely Slackware. Then the installer froze. It froze 13 times, apparently due to problems with the Nvidia Nforce2 motherboard. For the first time, I could not get a distribution installed. I had an empty root partition and I was ready for a challenge. I had been watching and reading about Arch Linux for a while. I was intrigued and intimidated by it.
The pacman package manager sounded great. The community seemed enthusiastic for a newer distro. The only thing holding me back was the warning in the install documentation. It says that you should know what you are doing before hand, the installer isn't going to hold your hand and you could "totally mess up your system." After a year of Slackware, I felt confident enough to try it. The worst that could happen is that I would learn.
The installation is very quick. The look of the installer is similar to Slackware. While it isn't graphical it isn't intimidating. The install is six fairly easy steps, invoked with the command /arch/setup.
1. Prepare Hard Drive: You are given the option Auto-prepare, which will erase your disk and give you a /boot, swap and root partition. I chose Partition Hard Drives, which drops you into cfdisk. I setup my root partition and exited. I then chose Set Filesystem Mountpoints. It asked me where my swap partition was, formatted and mounted it. Next I was asked where to put the root partition, giving me the choices of ext2, ext3, reiserfs, xfs and jfs. I picked reiserfs, it formatted and mounted it. The final step was counter-intuitive, but worked. I chose the partition, it correctly asked me if I wanted to mount it as home, then asked me which file system I wanted. I didn't want one, I already had one. I chose reiserfs, then it asked if I wanted to format it. I said no, and it set it up.
2. Select Packages: The documentation recommends selecting only the base package, which I did. If I didn't have a high speed connection, I probably would have installed everything.
3. Install Packages: This moved quickly. The only thing that bothered me, being unfamiliar with pacman, was that it asked "Proceed with upgrade?" I found you do not have to type anything there, it installs everything on its own.
4. Install Kernel: You are given the choices of 2.6 IDE, SCSI or SRC or 2.4 IDE, SCSI or SRC. The SRC options are for configuring the kernel yourself. You are also given the choice of None. The documentation makes me laugh at this point. It says, "Don't install a kernel now. For whatever reason. Don't choose this."I chose kernel 2.6.
5. Configure System: The scary part. It isn't as bad as I feared. You have to edit configuration files. You are given the choice of vi or joe. RMS be damned, I chose vi. The first file is /etc/rc.conf. There are good notes in the comment section, and the documentation is a great help. Most of the defaults worked. I only had to change my timezone, set a hostname, drop a module in the MODULES array (I started with my ethernet module), change the setting for eth0 to "dhcp" in the INTERFACES array and I was done. The defaults worked for me everywhere else in this file. Next, I checked /etc/lilo.conf, and didn't have to change a thing. /etc/hosts and /etc/fstab were fine. I left /etc/modprobe.conf alone, for now. I was done.
6. Install Bootloader: I chose lilo, it installed it, and I was done. I rebooted.
My New Command Line System
The system booted quickly. I logged in as root, issued the command "passwd" to set up the password. I then set up my normal account with the "adduser" command. Now it was time to try the pacman package manager. The command "pacman -Sy kde" installs Kde and everything Kde needs. It told me I should first update pacman, so I typed "pacman -Sy pacman".
I reissued the kde command, and was blown away by the download speeds. I was averaging 416.6 KiB/s, the fastest I have downloaded anything. In no time, Kde and all the needed libraries were installed. I knew the next step from my Slack days, but didn't see it in the documentation. I typed "/usr/X11R6/bin/xf86config" to set up my XF86config file. If you are unfamiliar with it, you answer some basic questions (monitor refresh rates, video card, mouse and keyboard type) to set the file up. That finished, I excitedly typed "startx" to boot into my new Kde. Instead I found myself in Windowmaker, with a dead usb mouse and keyboard.
Time to Learn
I rebooted with Knoppix, a live cd distro. I searched the excellent Arch Linux forums and reread the documentation. The startx problem was simple. I had to edit the ~/.xinitrc file and uncomment "exec startkde" and comment everything else out. This was stated clearly in the docs, I had just missed it. I had to do more digging to get the mouse and keyboard working. I had to go back into /etc/rc.conf and add "hid" and "ohci-hcd" to the MODULES array. I edited my XF86config file, changing my "Device" for mouse to "/dev/input/mice" and added "Option" "ZaxisMapping" "4 5" to enable my scroll wheel. If you have a ps2 mouse, you need to change your XF86config mouse "Device" to "/dev/psaux" or "/dev/misc/psaux". I typed "startx" and happily, Kde started.
It was time to work a little more with pacman, the big selling point with Arch. It is a ports based system, similar to Gentoo's emerge. It handles dependencies and makes it very simple to keep your system up to date. You start by running the command "pacman -Sy", which stands for "Sync" and "Refresh". This gives you a fresh master package list. I started installing as much as I had time to do. Installation is simple. You execute "pacman -S foo", where "foo" is replaced with the package you want. I began with programs that were slight pains to install in other distros, things with a lot of dependencies.
Mplayer, Bittorrent, K3b all downloaded blazingly fast. They installed with no problem. I was impressed with the package availability. Things that have been trickier to find and get installed were available installed without a hitch, for example transcode and vcdimager. I installed Mozilla, the Gimp, Xcdroast, J2re and OpenOffice.org. These were the easiest installs I have ever done. I was pleased to have the latest and greatest available. The package manager plus the outstanding choices of packages and fantastic dependency handling makes pacman one of the finest pieces of software I have used.
Updating your system is as easy as typing "pacman -Syu" One important thing I learned is that if you are running kernel 2.6 and do not want pacman to update the kernel for you, you have to edit /etc/pacman.conf and add "kernel26" to the "Ignorepkg" line. Pacman kept wanting to update my kernel even though "kernel" was listed in my "Ignorepkg" line. It is just syntax, and making the above change kept my kernel safe. Another great thing about Arch is the Arch Build System (abs).
If a package isn't available, you can download the source and build an Arch Linux package. I decided to try the program Madman, which has caused me grief on other systems. I will spare you the details. It involves downloading the source, editing a PKGBUILD file, then running "makepkg". See the documentation for details. It worked perfectly. I was impressed. One of the funniest things I have read lately in a forum was a Gentoo user complaining about the "Arch zealots". While I haven't seen any evidence of these zealots, I can understand the enthusiasm an Arch user feels about pacman. It truly lives up to the hype.
Arch is different from traditional distros in that you only need the base system for the install. You then can choose the Current or Release repository to install everything else. Arch defaults to Current and also provides the Extra repository. Once the base is installed, running pacman provides you with the latest packages available. Compare this to Mandrake 10, where there were complaints about some outdated packages in the ISO. Current includes Kde 3.2.1, K3b 0.11.7, Mplayer 1.0pre3m, OpenOffice.org 1.1.1a and they are sticking with Xfree86 4.3.0. With the exception of Xfree86 and its licensing issues, all of the packages in current are completely up to date. With kernel 2.6 part of the release, Arch is ahead of many distros.
How Does It Run?
Arch is i686 optimized, so it is very fast. It feels a bit faster than Slackware did with the 2.6 kernel. Slackware had been the fastest distro I have ever used, so Arch impressed me. Everything seems to just work. Programs load fast, the system boots fast and feels very responsive. Setting up sound was straightforward. The docs walk you through it. You install alsa, edit a few files and permissions and you are all set. With Arch there are a few extra steps here and there, but steps you only need to take once. I like that with the excellent pacman you can build the system that suits your needs perfectly. You add only what you need or want.
Arch offers me a system that I only need to install once. I like that. I can easily keep it updated and configure it to my liking. The biggest benefit to me is it forces me to learn. Using Slackware for a year, my knowledge of Linux grew tremendously.
Arch has made me learn even more. I never had to think about what modules to load, or how to do it, and now I know. Arch is an excellent distribution to force yourself to learn. I really have to give credit to the Arch Linux community. The forums are polite and helpful. A few quick searches and I was able to solve the few problems I ran into. I am pleased with Arch. I expect it to grow and become one of the major distributions as more people become familiar with it. I plan to run it for a long time.
ConclusionThe Good - Pros
- The Pacman package manager - It is fantastic.
The Bad - Cons
- Requires a bit of Linux knowledge
The Ugly - Issues
The Verdict - Opinion
Excellent Linux Distribution. A great learning experience, may not be for the novice user though.