I have been using ArchLinux for almost three months now on my work (desktop) laptop. After using Gentoo Linux for more than three years on the previous machine, I thought it would be time to try something new.
In this posting, I would like to share my experiences on Arch compared to other distributions I am/was using.
When deciding which Linux distribution to install, it is really hard if you want to make a sound decision. There are a lot of distributions around. Distrowatch knows several hundred of them. How would you pick one?
If you are looking for a distribution for a desktop machine, you can easily skip most of the listed distributions. Unless you are a developer or are looking for a challenge, you can skip small or inactive distributions. You can also skip distributions which do not focus on desktop machines but instead on routers or servers. You want to pick a distribution which as a big enough and active community that can help you with problems (and where you can contribute to yourself!) and guarantees that the distribution will stay active for the time you plan to use it. Finally, if you know which desktop environment you are going to use (KDE, LXDE, Xface, ...) you may want to choose a distribution which has this DE as its primary desktop or at least as a first-class citizen.
I started myself with SuSE Linux in 1997 (long before it became OpenSUSE), switched over to Gentoo Linux sometime around 2004 or 2005 and sticked to it as my primary distribution for my personal computers until today.
However, when other people asked me which distribution to install, I gave varying answers over time. Initially, I recommended SuSE to people, because even when I was using Gentoo myself, I though of SuSE as a good, all-round beginner's distribution. Then Ubuntu became popular and I started recommending it. Most time I spent with Ubuntu (or rather, Kubuntu) was to fix other people's Linux problems. Even before Canonical dropped official support for KDE, I dropped my recommendation for (K)Ubuntu and continued to Sabayon Linux. Sabayon is a “classical” distribution with binary packages although it is directly based on Gentoo, thus I could re-use my Gentoo skills here.I have been using other Linux distributions in virtual machines or on testing machines including Fedora Linux, Debian, CentoOS, Scientific Linux, PC-BSD (not a Linux), to name just a few. However, time spent on these systems has to be counted in hours rather than in days.
So, when the time came to pick a distribution for my new laptop, I had to choose between installing Gentoo Linux or try another distribution. Although I see Gentoo as a very powerful and flexible distribution, I saw one big problem: The new laptop had a SSD which has a limited number of write cycles due to its technology and limited disk space, especially with a full Windows 7 plus pre-installed applications in a dual-boot setup.
So, I took the chance to try out a new distribution. For some reason, I stumbled upon ArchLinux, although I cannot recall when and where I “found it”. After a brief testing period in a virtual machine, I decided to install it on the new machine. The installation was not completely painless, among others it took some reboots until Grub2 was configured properly. Eventually I succeeded and had the machine configured to my needs. I even switch over to systemd before I became official standard for ArchLinux just weeks later.
By now I have been using ArchLinux for three months in daily use as a desktop system and I think I can give a qualitative judgment on its strengths and weaknesses. Let's start with the strengths:
- ArchLinux's Wiki is really good and contains a lot of information. I even learned about a Windows registry setting beneficial for dual-boot setups (RealTimeIsUniversal).
- Support for systemd makes the boot up and shutdown time fast. There is virtually no more need for suspend-to-disk as booting and halting is so fast.
I know that systemd is not without controversy, both technology-wise and because of its author (personally, I think PulseAudio was the wrong answer to a question never asked), but systemd is f***** fast.
- ArchLinux is updating fast. I have always the latest stable kernel, always the latest stable KDE (4.9.4 at the time of writing), and other packages are updated all the time. Nice.
On the downside, ArchLinux has some drawbacks as well:
- Maybe this is not a weakness, but most other distributions are more conservative when exposing normal users to new releases. Gentoo, for example, has only recently switch from KDE 4.8.5 to 4.9.3 as the stable variant, although you could have easily installed any other release in between as an unstable release.
- Handling of configuration file changes does not happen. Gentoo Linux has etc-update or dispatch-conf, Sabayon has equo conf update, but when ArchLinux updates configuration files, it saves the new configuration files with a special extension, but does not help the user to merge old and new configurations. Official recommendations are to use locate or find to find new configuration files and merge them manually or resort to other distribution's tools like Gentoo's etc-update.
- Most Linux distributions can be configured to use multiple repositories to fetch packages and updates from. The distribution would have its own “official” repositories, but there could be user- or vendor-contributed repositories as well. In Debian or Ubuntu, you add some files in /etc/apt/sources.list.d/, in Redhat/Fedora you go to /etc/yum.repos.d/ and Gentoo/Sabayon users use layman to subscribe to ebuild files located in any Subversion or git repository. Those repositories are scanned for updates just like the official ones and installed packages get updated.
This is not the case for ArchLinux. There are user-contributed packages in AUR, where you can download the “recipes” (think of ebuild scripts) and build and install the package on your own. Updates? Well, you can manually surf to AUR's webpage from time to time, search for your packages, and see if there are any updates. Arch's package manager, pacman is used to install your hand-made packages, but doesn't know them later if you search for those packages. Strange, inconvenient, and given the lack of a (semi-)automatic update process, potential cause for future security problems.
- If you want to contribute to the quality of the software you are using, you want to submit bug reports to the software's bug tracker. In case of crashes, you want to submit a backtrace, which allows the developer to locate the position in the source code where the crash happened and thus enable him/her to fix the problem swiftly.
To get backtraces, you have to have “debug information” installed. This information is not required for the software's normal use, but is used to collect valuable information in the case of a software bug. Many distributions have special debug packages which you install along the regular software packages. Gentoo requires some minor configuration to have self-compiled packages include their debug information (read: splitdebug).
ArchLinux? No debug packages. If you want to have this debug information, you have to compile the affected packages (read: all of KDE, for example) yourself. But then, it is easier to use Gentoo in the first place, isn't it?
As argued, ArchLinux has some pros and some cons. Although I like the pros, the cons will definitively stop me from becoming a fanboy of ArchLinux. I still hope that I missed a fix for the problems I described above or that they will be fixed in the future, but for now I cannot fully recommend ArchLinux.
If I would had to choose again, I would try out Fedora Linux with KDE. It uses systemd and has less issues with package management. However, I haven't used it yet so much, so I guess there are some hidden traps in that choice, too. Maybe I'll write a posting about that some time in the future...