t_fischer: (frustrated)
Thomas Fischer ([personal profile] t_fischer) wrote in [community profile] linux4all2012-12-09 04:36 pm

ArchLinux – How I Got There and What I Found

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...

kerravonsen: 9th Doctor wearing his headlamp: Technical wizard (technical-wiz)

[personal profile] kerravonsen 2012-12-09 09:36 pm (UTC)(link)
I've been using Arch Linux for a couple of years now, after I got annoyed at Ubuntu for dropping some of my favourite packages. And I moved to Ubuntu from Gentoo because I got sick of having to recompile everything all the time.

I still hope that I missed a fix for the problems I described above

Well, you did miss one fix for AUR updates - packer. Firstly, it makes installing AUR packages much easier, and secondly, it does AUR updates for you in a similar way to pacman.

Another thing is that one can do an easier install by installing ArchBang instead of plain Arch. The only difference between ArchBang and Arch is that the installer is different; more user-friendly, and gives you an OpenBox desktop system installed by default. But after the install is done, it's just another Arch system which uses the same repos etc.
grackle: denis leary looks pretty (Default)

[personal profile] grackle 2012-12-10 04:54 am (UTC)(link)
Excellent review, thanks! I'm somewhat of a newb so I'm always interested in people's thoughts on various distros.
aphenine: Teresa and Claire (Default)

[personal profile] aphenine 2012-12-10 06:07 am (UTC)(link)
I'd also like to echo thanks. This is a lovely overview. I've found it hard to get a general impression of what a distro does on the net and some of the debates are quite partisan. Thanks for this.

Interesting read

[identity profile] http://openid.quadronyx.org/krayon/ 2012-12-18 08:32 am (UTC)(link)
Interesting read.

( Full disclosure: I've been using Arch for about 7 years now and I adore it :P )

I think you have some valid points but wanted to address some of your negative points:
1. Software versions: I have not confirmed it but I'm guessing Arch update packages when they are new. In general, my personal feelings towards this is "Good". If I use KDE, for example, I trust that when KDE puts out a version, it's good enough to use.

About the only time packages should spend in testing is to confirm they work within the distribution specific environment which thankfully in Arch's case, isn't really that custom, so it shouldn't take long. I don't think it's the distribution's job to protect me from unstable, buggy or flawed official "stable" packages.

2. Configuration files: Handling of modified configuration files is probably a nice thing but I personally don't mind a quick grep of pacman.log to see what's new and usually appreciate the vimdiff allowing me to see what's changed. I kind of see these diffs as changelogs :P

A few times when a (usually boolean) default has changed, I've been lucky to be able to pick it up via this process and modify my configuration choices accordingly.

3. Multiple repositories: I think your comparison of AUR and unofficial repositories is inaccurate. Arch does have MANY unofficial user repositories that offer the exact same service, reliability and flaws as other distributions' community offerings ( see https://wiki.archlinux.org/index.php/Unofficial_User_Repositories ).

I personally have one of my own for all my contributed AUR packages and if you trust me, are free to use it. I generally discourage the use of these repositories, and the AUR automated tools, as I believe, in general, you should build packages yourself to ensure that it's trustworthy. If I were to use another distribution, I wouldn't use their user repositories either.

Really, the AUR could be seen as something ADDITIONAL to user repositories - sort of a more succinct "blog post" of "how to build and install XYZ on Ubuntu".

4. I agree - there should be an easier way to address bugs. If I want to report a bug I generally get the latest version, build it, and submit the report to upstream so I've not seen what you describe of other distributions but it sounds like a good idea. In fact, Arch has less excuse than others really. As packages are usually more current, the bug reports would be more useful to upstream that those from more conservative distributions like Ubuntu etc.

Oh, and finally, one of your strengths I see as a weakness: from my experience, this systemd is needlessly complicated and confusing. I don't think it follows the Arch way at all, and I don't care about my boot time being 10 seconds instead of 45 seconds. I considered the older method far superior. I guess no distribution's perfect for everyone :)

Re: Interesting read

[personal profile] hadrons123 2013-08-04 06:17 pm (UTC)(link)
@ http://openid.quadronyx.org/krayon/

1."Trust the upstream all the time"
If you have ever been in software development you should know that new software versions is bound to have regressions on time or another. What end-user want is reliablity not troubles. I know your terminology and understandig for reliablity bar might be pretty low.I understand that. Why do you have a useless testing repo when nothing is really tested in Arch? Package moving to stable has the poorest criteria in Arch compared any leading linux distro. Arch bug reports are generally a farce. You are 95% of times asked to report upstream, why the hell do you have a bug reporting?

2. delete all the configurations files all the time, instead of asking for user-decision and one day you will most likely end up with a non-bootable system for sure.

3. AUR is low quality control and you want to trust AUR-helper application for updating your apps. Good-luck.

I dont specifically recommend ubuntu user-generated PPAs as well.

Arch Linux is for KISS for their Devs not users.