What’s a Linux Distro?
I’ve been a Linux user on and off for over a decade now, sometimes I even get paid to use it. If you’ve never used Linux the terminology around it can be quite confusing, Linux isn’t an operating system like Windows or MacOS but can be better thought of as a platform for building operating systems. In Linux land (population nerds) these operating systems are called distributions and the differences between them can make a huge difference to the way you use your computer. I’ve been a long term user of the Ubuntu distribution only recently switching to Fedora because of its relationship with Red Hat.
Both Fedora and Ubuntu are designed to be easy to use and largely get out of the way of the user. Arch is not designed to do that, it is for the hardcore. Arch's software is bleeding edge, you will get the latest Linux Kernel whether it works or not. And most of all it is known to be an unbelievable pain to install.
Why would I do this to myself?
I’ve never installed Arch and having had colleagues and friends always tell me that they use it at home it's something that I felt the need to try mostly to prove to myself that I could also use it at home if I could be bothered to.
So last weekend I sat down with my old Thinkpad, a memory stick and gave it a go. I didn’t really know what to expect, but my job often involves configuring difficult to use software so how hard could it be?
Within minutes that became clear.
The hardest thing I found was the networking. I was installed this on a Laptop and what use is a Laptop without wireless networking.
Arch is designed to be flexible at all levels aside from the init system. So after fumbling with some command line tools that I didn't understand I found the systemd network manager which has a very unarch like terminal wizard for connecting to wifi networks. And people say systemd is destroying Linux.
To use it you just run
wifi-menu in the live environment and follow the prompts.
Next time just install Gentoo
The next big issue came after I’d run the initial bootstrap and installed the base system, I foolishly thought this process would include the networking configuration I'd configured on the live environment.
It doesn’t, in the Arch install process you ‘chroot’ into the new operating system after it’s you’ve installed it with the boot media. This allows you to use a different networking system in your installed system to the one you used to install the system. It also means you need to configure your networking twice.
Not realising this caused grief.
The other bit that took some time to get right was the disk partitioning, my Thinkpad is an old X220 which uses a bios instead of a uefi boot manager. This means you need to create partitions that account for the bootloader, install grub and other nonsense.
I found the gentoo wiki much more useful in understanding how to do this with a very clear explanation on what size each partition needed to be and any additional flags required to get the system to boot.
Interestingly at no point did I end up with an unrecoverable situation, and in fairness to Arch this is good design. Because the live environment is totally separate to the system installed on the disk even forgetting to install Grub, which is required for the system to boot, is recoverable. And I did forget to install Grub.
Should you install Arch?
Would I recommend this? If you’ve been a Linux user for a while and want to learn more about what makes up a Linux system then I would absolutely say so. You will need to have a decent knowledge of what goes into installing a Linux distribution before you attempt it.
On the other hand I will acknowledge there is a definite sense of satisfaction from getting an Arch system to boot. It’s a battle and winning it feels good.
Still unless you are a hobbyist I don’t understand why you would choose Arch over Fedora or Ubuntu in a situation where you need to do real work. There are clear performance benefits but I can’t see these being outweighed by the amount of time it takes to get the system working in the first place.
So my advice is if you want to learn Linux, install Ubuntu or Fedora. If you want to play with Linux after getting your head around a "normal" distribution, install Arch.
Will I use Arch?
For now it's installed on my ThinkPad and until it breaks I probably will. At least until I install something even more painful...