Intro

I recently needed to format my headless server which I ran this website on. It was running on Fedora 30 that recently completed the end of its life cycle and, I kind of got tired of upgrading releases on. I started looking into distros with long term support.

Choosing Distros

Having used Ubuntu before Debian is a fair option but I didn’t want to use apt anymore. I prefer yum and dnf better even though dnf can be extremely slow sometimes. So, I considered the other option Centos of course since the version 8 is just released and it has been promised to have full updates until 2024*.

Having said that, I also wanted to try out other distros and look around a bit. I never played around openSUSE before so I initially started looking into that as well. I realised that with Tumbleweed they have switched to rolling-release system. I have previously never used any rolling release distros before and I always looked at them a bit caution since they can be easy to break and that is not something you want to put on your server. You wanna put reliable software on a server and forgot it’s running. But if openSUSE is finding rolling distribution feasible, why shouldn’t give a try then?

Well, if I’m looking into rolling distros, then I should look into something I keep hearing everywhere, Arch Linux.

At this point, I managed to reduce the options to 2: Centos and Arch Linux. Well lucky enough, I had a non-CS friend who was also getting the same configuration server and asked me to choose a distro for him. So, I see this an option to have an A-B testing to try out these two distros.

I’m not gonna go into details of installing distros and their difficulties but I can say the least that installing Arch required a bit more skill of course.

Centos vs Arch

Basic Comparison

After installing both distros with some useful packages such as nginx to run the webserver, I ran neofetch to check.

Centos

Arch

Since Arch comes extremely lightweight (not even without sudo basically) it will, of course, have fewer packages on the bare minimum. But still 756 packages vs 365 packages a bit too much of a difference. And, I like the idea of having a newer version of the kernel 5.x, I also managed to run wireguard instead of OpenVPN which I kept hearing about as well and definitely found it performant.

Another remark on Arch is on of course pacman. Comparing dnf (Centos 8 still supports yum but dnf is also included now ) with pacman in terms of speed is kind of a joke especially after addding EPEL or Fusion like extra repositories.

I think I can fairly say that pacman is the fastest package manager I have ever used. I believe that comes from the usage of zstd*.

How about non-official packages? I have already mentioned about EPEL on Centos. Well, Arch has AUR and it is fairly to access AUR content using something like yay. For fair comparison, I installed ffmpeg and jellyfin to both systems and managed test around a bit. Both installation were smooth using pacman/yay or dnf on EPEL/rpm.

On updates

I think it is fairly possible that you can keep your Centos server not updating at all in its current state. But I don’t think same applies to an Arch installation. pacman -Syu is pretty straightforward and if it’s used with caution, keeping a server up to date can be easy actually.

Another aspect of updating is about dependency management. I think both dnf and pacman does a great job but pacman keeps it simple by leaving optional packages to the user. So, it’s actually better for an experienced user I think, while a new user might have problems later on.

Final Words

I think I’ll keep my Arch on my headless server since I think I can spare upkeep time budget time to time and love seeing more server running a bit more lightweight. My friend is happy with Centos even though I suggested him to go for Ubuntu if he wants to because that will be the best distro for a new user.

Additionally, I also switched my WSL distribution to Arch as well*. It gets the job done.