Distro Review: Arch Linux 2009.02
After many broken promises and much procrastination, I finally made it onto Arch Linux and that’s where I’ve been for the past couple of weeks now. I had a failed attempt at Arch last year when my hard drive died; not Arch’s fault in any way, but since then I haven’t really had a chance to get back to it. It’s a distro a lot of people tell me about. The Arch fans are always really passionate and enthusiastic in describing it to me; so I figured it was high time I found out for myself what all this fuss was about…
*Remember Arch is a rolling release so these just the versions I had at the time*
Distro base – None. It’s a custom distro
Packaging – .pkg.tar.gz (Managed by Pacman)
Linux Kernel – 2.6.28-ARCH
Default Desktop – Doesn’t exactly have one. I installed Gnome 2.26
My Arch journey began by printing out a huge raft of documentation from the official wiki. I followed their beginners guide and wouldn’t have gotten anywhere without it. Some folks have complained that I harp on too much about how distros will fair with new users, the beginners to Linux. I think it’s important to let people know these things up front and not take an elitist attitude. So let’s get one thing straight and then we can forget about it for the rest of the article. If you’re new to Linux this is not the distro to begin with, not in my opinion. You should try something easier first, then graduate onto Arch later by all means. It’s a distribution for the experienced Linux user as it requires you to set up everything manually in a terminal. It’s a definite learning experience but if you’ve used Linux for a while you don’t need to be scared. Read the documentation, make sure you have plenty of backups and go for it. If I can get it working then the skill barrier can’t be very high, the documentation is the key. Slackware fans will be quick to point out that I gave their distro a pretty hefty booting for similar things a couple of years ago. This is a fair cop, I wasn’t at all prepared for Slackware at the time and I knew nothing about it. I said it was good for learning how Linux really works under the hood and I still think that’s true of both these distros.
Armed with my wedge of papers and a USB stick loaded with the Arch 2009.02 core install image, I was ready to go. Although I’ve listed this as a review of Arch 2009.02 the version numbering is largely irrelevant when it comes to Arch. It’s a rolling release, which means all the latest software is constantly added and updated. These periodic snapshots are only made so you can install it without having to download 2 years worth of updates. You install the core and then build up the system manually from there with tools like Pacman, the Arch package manager, not the little yellow fella. It’s similar to a base Debian install in some ways. I booted up with the USB stick and started the live system, bringing up a terminal login prompt. As a quick aside, I enjoyed the amusing little lines about installing on a “kerosene powered cheese grater”, at least whoever made this has a sense of humour. There are instructions on the screen for logging in if you don’t have the documentation handy, but I’d recommend you follow the guide; you really won’t get anywhere without it unless you’ve used Arch before. The guide told me the commands I needed to set the right keyboard layout and console font by switching between multiple terminal sessions, ALT+F1 F2 F3 and so on. You can even open the basic documentation in another session if, unlike me, you care about the trees and don’t fancy printing out 75 pages.
Next you type the command “arch/setup” to launch the installer. It will prompt you for most things such as hard drive paritioning, base packages to install and other assorted settings. It’s not too hard to follow and looks very similar to the basic Slackware or Debian installers to me. This is my partitioning scheme:
sda1 = / (root partition), 12gb
sda2 = /home (home partition), 140gb
sda3 = swap, about 4gb
I formatted the root and swap partitions but left the data intact on my home partition. This is where all my music, videos, documents and assorted gubbins lives. It’s usually 90% full at any given time. I just remove the hidden settings folders starting with “.” before hopping, so as not to muddy the waters. I did of course have full backups of all partitions before starting; that’s vital for any serious distro hopper. Next I decided to install the base and base-devel package groups. The core install was lightening fast with Pacman, it might be because it was from USB flash memory but I was really impressed, a couple of minutes max. When it came to networking I knew I could get my wireless card up during the install, there’s even instructions in the guide, but I figured I’d just plug in an Ethernet cable for now. The next stage of setup is to use a text editor to examine the config files and set the right values. I used Nano for this and while some Vim or Emacs experts may scoff at that, I find it does the job perfectly well. I read through each of the files and followed the instructions in the guide, setting locale to en_GB.utf8 and many other things in “rc.conf”. This is the main config file in Arch and learning how to use it is essential. I would be revisiting the file a lot in the next few days. Although I spent a very long time reading the docs at this stage and also the config files, I’m not 100% sure how much of it I understood. As I commented on the podcast recently, with my ext4 brain most of things will be lost in a week sadly.
Finally, after what must have been an hour or two I was ready to install the GRUB bootloader onto sda, the main internal hard disk in this laptop. It was very straightforward. This might be the end of the installation story with some distros but with Arch it was just beginning. I had a long way to go to reach a working GUI environment.
Adding Your Desktop:
At this stage I was able to boot into my core system and use a terminal session with wired networking. I added a user account, configured Sudo and set up Pacman by editing the mirror list. As the name suggests, the core really is basic so you’ll need to add everything else to make your desktop work. Not just a desktop environment like KDE or Gnome but also Xorg, ALSA and much more. Installing the latest Nvidia driver for my freedom hating graphics card was easy with Pacman, the instructions for setting up your display in the wiki are invaluable. While testing the X server setup with Xterm though I found I had no keyboard or mouse input at all. I tried everything I could think of but in the end had to physically power the machine off to get out of xterm. I did this a few times with different xorg.conf settings before realising I had to setup HAL if I wanted some input. All of this is part of learning curve with Arch but you do feel sometimes like you’re making your own distro. Once I enabled HAL and added it to the end of my rc.conf file (told you it would be back), I was able to use an external USB mouse but not the touchpad on the laptop. This would be enough for now while I installed and set up Gnome, my favoured choice of desktop. This is all covered in the last section of the Beginner’s Guide which I was still following. After installing all the Gnome packages with Pacman – a simple couple of commands by the way – I was able to tell Xorg to fire up a Gnome session on boot. Once I installed GDM to login with I was ready to try my new desktop. I hit a bit of snag however. Every time I tried to log in I was greeted with an error message “System has no Xclients”. It took some head and beard scratching but I fixed it in the end by selecting “Gnome Session” on the GDM session type options. After about 3 hours – maybe 4, I lost track of time – I could log into Gnome from boot up, success!
Pacman Is No Slouch:
I’d like to take minute to highlight Pacman. I installed a lot of software with it and it’s a really fast, effective, package manager. Everyone knows I’m a Debian fan and I love Apt but Pacman compares more than favourably. The software repositories for Arch are really deep and I could install almost anything I wanted with a quick command. I installed Skype, Pidgin, Firefox, Rhythmbox, Audacity, Checkgmail and much much more. Installing or updating a package basically involves typing this command:
sudo pacman -S packagename
Pacman will then resolve all the dependencies, tell you how big the download is and ask for confirmation before proceeding. You can also completely update your whole system at any time with the following command:
sudo pacman -Syu
The software in the repos is updated daily and new stuff never takes very long to find it’s way into Arch, the admins do a great job of this.
To Gwib Or Not To Gwib?
There was one program I couldn’t find in the repos, Gwibber. The bain of my life. I love it and I hate it all at the same time. It’s buggy as hell, crashes on a whim and is constantly under development, but I’m an addicted microblogger and I need my fix. To install this I had to look into the Arch User Repository (AUR). I installed a tool called Yaourt to automate the process of searching and compiling software from AUR, it creates packages for you and then installs them with Pacman. It took a very long time and a lot of reading but I finally got Gwibber 1.0.1 working by installing an older version of pylibwebkit, and then telling Pacman to ignore updates for that package. I was given some great help with this by friends on Identi.ca, one of them even ended up sending me his compiled package for the webkit, thanks Marshall!! Also big thanks to Ken Simeon AKA ScriptMunkee for his great article on installing Gwibber in Arch. It wasn’t as easy as I’d hoped but I had the same problem under Debian. It does show the nature of the Arch community though, they’re so helpful and friendly. At least in my experience. For documentation and community I really can’t fault Arch in any way. I will stop saying “community” now before Jono Bacon sues me.
After more than a few hours of fiddling and tweaking, I had my desktop almost perfect. I say “almost perfect” because my keyboard layout was still wrong, the touchpad didn’t work and I didn’t have wireless. Apart from that as I say, perfect. I had follow a guide on the wiki to alter some settings in HAL (it’s back, the revenge); this got my keyboard on UK layout and also enable scrolling with the touchpad. Whilst looking for solutions on the Arch Wiki I did find an article entirely dedicated to my laptop, the Dell m1330, you can’t say fairer than that. Setting up wireless wasn’t too hard. I installed Network Manager with Pacman and edited rc.conf (again) to start the service on boot. Within no time I had wireless up and I was mobile. The finishing touch for me was enabling the Gnome Do 3D dock (docky), it requires you to have compositing graphics enabled. I had some issues with Compiz and disappearing window decorators, an problem I’ve seen and fixed before on other distros but I decided to just enable Gnome compositing instead. To switch on Gnome compositing you need to use the Gconf Editor tool.
Follow these steps:
1. ALT+F2 to bring up the run dialog
2. Enter gconf-editor and press return
3. Look for Metacity under the Apps directory
4. Under “General” you will see a tickbox marked “enable compositing”, tick it
That should do the trick. I find Gnome compositing to be very stable and effective for me, it’s not as fancy as Compiz but it works. It may have taken a long time and been a little emotional at times, but I succeeded with my Arch install, woo hoo! The desktop has been perfectly set up for over a week now. Upgrading with Pacman has been fine and so far I haven’t broken anything, touch wood. I’ve skipped over a few things in the setup because to be honest there’s so much to be said about the Arch journey; it would take me a week to explain it all in detail and you don’t want to read all that. What’s more, I don’t want to write it!
Ease Of Installation: 1/5 (if you’re not up for learning new stuff forget it)
Community & Documentation: 5/5
So what did we learn from this? Well, a hell of a lot about what goes into a Linux distro. How it all works underneath. I’ve had a good time with Arch mostly. It takes some effort and a lot of reading but the community support and in particular the documentation are second to none. I think the main draw of Arch is the rolling release cycle and the constant availability of the latest software. I didn’t find it to be noticibly faster on my hardware than most other distros but it was pretty stable. Updating your whole system with new packages all the time can break the odd thing and I’ve heard horror stories from others of constantly having to fix their Arch installs. All I can say is that I didn’t experience this myself, in my brief stay. Maybe those issues would surface more over time. If you want to learn about Linux and expand your knowledge then following the guide and installing Arch is a great way to do this. It’s certainly an adventure but you need to have a lot of spare time, you can’t do it in a rush. There are many rewards and it feels great when you’re done. I will definitely be cloning this install with Clonezilla before moving on, I invested a lot of time in it. Some people will be quick to point out there’s stuff I’ve missed like the Arch Build System and this is true. I feel there’s a lot more I could learn with Arch and 2 weeks probably isn’t enough. I must press on but no doubt I’ll be back for round 2 at some stage in the future.
For me personally, while I’ve enjoyed my time on Arch a lot, I’m not sure it would be my long term home. I hop around a lot anyway so that’s not saying much, but I don’t think I’d want to go through that setup every time. It would get easier each time you do it of course but I’m not sure it’s for me, maybe I’m lazy. In fact there’s no maybe about it. I’m going to try Chakra to see if it provides a version of Arch with less initial work, this is against “the arch way” I know, sorry if this offends people. Arch is a great distro and above all it’s something different, there’s a lot to be said for that in a world filled with Debian derivatives and Red Hat clones. Everyone likes to see something original now and then. If you’re reasonably experienced and/or willing to learn you should have a crack at Arch I think. Follow the docs and you’ll be fine. It’s not as scary as some people make out. It does take some time and effort but it’s rewarding and I’m glad I can say I’ve done it. Hopefully some of that hard earned knowledge sticks. Try it for yourself and let me know how you get on.
I’m going to install Chakra next as I mentioned. It’s an Arch-based distro with a simplifed installer. I expect that will be a quick hop but you never know, I might stay longer. If you have any suggestions you’d like me to try out then please leave a comment, send an email, courier pigeon or shout it out of the nearest window. I’ll do my best to oblidge. I hope you’ll join me next time for another adventure…