Arch
I’ve been playing with Arch Linux, a very popular GNU/Linux distribution, for the past few days on my desktop machine Zephyr. Now, unlike CRUX, the distro that inspired Arch, Arch is far from being a manual, hardcore distro: it makes you edit config files and enable daemons yourself, but otherwise it’s got a powerful package manager and (to my discontent) makes installing things like the non-free nVidia drivers easier than Debian. I decided to consider the switch for these positive points:
- Arch is not a source-based distro but if you want to recompile a package it’s trivially easy with tools like yaourt – this is much better than Debian’s convuluted .deb format. This is basically my main reason: it’s got to the point where I want to be able to change the compilation flags for things like ELinks, and then have my package manager seamlessly upgrade it. But I don’t want a source-based system where all updates require massive recompilation. Arch is ideal for this.
- I wanted to know how much of my so-called portable setup is actually Debian-dependent, so I could improve on it. Changing to a radically different distro allows me to see this.
I’ve realised now though that Arch’s image of being a hardcore, do-it-yourself distro is mostly unjustified. In reality the package manage does an awful lot for you and really all you are left with is editing config files. I don’t care much for my distro beyond what is common to all of them, and Debian wasn’t doing anything for me (on a desktop – I still worship Debian Stable on servers), and I’ve gained several useful features by switching to Arch. But there’s not been a dramatic change. Once I learnt where network settings and daemon start/stop/restart scripts are kept, most of my Debian-specific knowledge had been mirrored…
So I guess the next step on the learning experience is to try something like CRUX, which perhaps most noticably hands the kernel entirely over to the user, offering no automation at all. But while I sit on high-end hardware, I’m not getting very much at all out of compiling stuff I don’t want to customize – coreutils, the kernel, LaTeX – so I feel I’d be wasting a lot of time. And I’m not sure I’m really ready – I have but a vague conception of what udev is and have no real idea how the Linux kernel fits into the larger whole of the GNU system; how hardware is managed and how the boot process works. The journey continues.
It’s worth remembering that yaourt isn’t really supported any more, and has been replaced by clyde. That also doesn’t tell the whole story, though – without AUR, the Arch User Repository, it wouldn’t be nearly so useful. What that does is let you use something like clyde to pull down the PKGBUILD for a package and compile it yourself, if it’s something that’s not necessarily supported by Arch but is widely used in the community.
I hadn’t come across clyde at all – surprising; I thought yaourt was what people used. Thanks for the note. I’m sorry about my sloppy writing suggesting I didn’t really grok the AUR. It’s the power of makepkg that makes all this work; I get that. What I like about wrappers is that if I’m in a hurry I can just edit the PKGBUILD on the fly and get the package compiled as I want it to be without really having to put in much effort.