Server OS suggestions

I dislike Manjaro for several reasons, I’d just go stock Arch over Manjaro but then you end up with the rolling release but not the stability. I hadn’t thought about Fedora Server, kinda forgot that was even a thing. Grabbing now to poke around with. Fedora Desktop is still more or less bleeding edge so I’ll have to do some poking/reading to see how the server release differs.

1 Like

Seems like it’s not as popular these days after Red Hat took CentOS out behind the woodshed, but might be worth a look.

2 Likes

Yeah I am going to check it out. Right now it looks like my shoot out will be Fedora Server, Stock Debian, NetBSD. I was going to include Suse but looks like that’s a no go.

Fedora Server’s overview makes it sound a tad bloated but we’ll see. I played with the Desktop 35 release not to long ago doing some Wayland testing.

Isn’t CentOS Stream a rolling distro?
Maybe that will be worth checking out?

CentOS has been dead for over 10 years heh.

I’ve used Debian stable for server duty for several years and haven’t had a reason to stop or look elsewhere. I can’t remember a time where it broke without me making changes incorrectly. I have it run apt update and upgrade in cron every night and that has yet to upgrade me into an broken state. Some caveats on my usage that may not be applicable to you:

  • I don’t have a desktop environment installed on it or GPU drivers to fight with. I just use ssh to interact with it
  • I run hardware old and common enough to be properly supported by stable. If I didn’t, I would weigh switching to testing vs backporting packages you need
  • I don’t dist-upgrade typically, although I’m not actively avoiding it. Instead I’ve let it move to oldstable and do clean installs when it was convenient for me (e.g. during a nontrivial hardware upgrade).
1 Like

Comically I started my shoot out with Debian, Fedora Server, Suse Leap, NetBSD. NetBSD was done in a few seconds, Fedora is done, Suse and Debian are roughly tied for “Sweet jesus are you going to finish this year?”

My hardware is very MOR and no fancy GPU issues either. I do run a minimal X session for log monitoring and a few other things but certainly nothing fancy. My issue is really just how Ubuntu loves to trip over itself anymore. Which is why stock Debian is a candidate…that and the stupid long release windows.

1 Like

For servers I like Ubuntu because of the volume of support articles, tutorials, blogs, documentation…

Its so common that its much simpler to search for things you need.

True, until it explodes, which as I said is the reason I’m ditching it. Most my machines I’ve migrated to Arch as a lot of the Ubuntu stupidity has made using it for Desktop unbearable as well. However LTS/Debian was kinda the goto for years…but as has been said over and over, everything was great up to 18.04…then, every release has been pure garbage. From upgrades crapping themselves to simple updates, to systemd unmounting / while it was obviously in use…I mean… it’s ROOT!

Which is a long winded way of saying why would you suggest the very thing the thread is about NOT using…;p

NM Deleted

The issue is not the OS, you wont fix your challenges by jumping somewhere else. Some of your critiques of the package handling related to Ubuntu are valid and fair, but the reasons I would disagree with.

It’s not the OS is pretty vague, what “OS” do you mean? Linux? If my issue was Linux I wouldn’t be looking at several other Linux distros. My issue is with Ubuntu. Canonical has been off the rails for a while now and how they like to do things destroys the concept of stability. This is also why I’m trying stock Debian, the issue isn’t Debian, it’s Ubuntu.

As a side note for documentation Arch > Ubuntu.
As a comical note my roommates who are basically tech illiterate have been adamant they also do not want Ubuntu because their machines would brick every other update. They’ve either been on held 18.04 or moved to Arch and super happy.

I mean, Linux is Linux. Distro’s are just different package managers and different default packages.

I also agree Arch has amazing documentation it just does not have as large a user base so its possible to run into issues that no one has had, or no one has posted about.

IMO the best thing to do is pick an LTS distro, and then containerize and host VM’s as required for your applications. That way if you have a depreciated package that is a dependency for a specific service or application it can be isolated from the rest of the system.

Most of my stuff runs on Ubuntu’s LTS and then I use a combination of KVM and Containerd for everything else. most of my containers run on Alpine.

1 Like

Some times yeah that’s the difference between distros (few minor changes in configs and default packages) but some times there are some pretty large core differences. Take the huge “F systemd” movement going on. Again my first attempt at using Ubuntu 20.xx was when I first noticed systemd doing crazy things. Again unmounting / was insane enough and was HELL to figure out but it did it on several machines. I also saw systemd resurrecting cron jobs. I initially figure maybe this was some odd change in the kernel but weeks of trying to figure out all this weird crap and it was only happening on Ubuntu release greater than 18.04. So I kinda get why so many hate systemd.

While I looked at a lot of non-systemd arch releases I settled on Garuda (xfce) and I’ve had none of the systemd insanity I saw under Ubuntu. Of course this can all be on some level written off as conjecture or argued as correlation isn’t causation but this is 5 or 6 Ubuntu releases now all showing the same issues and I’ve said many times man 18.04 was SWEET. 16.04 was also killer but something BIG changed after that and it’s not been good.

There is part of me that is disgusted with this containerization stuff these days. I kinda feel like it’s a bandaid to a larger issue but I have come to appreciate appImage.

The LTS deal is why Debian is still on the table, stupid long release windows. I was going to say (forgive if my time lines are exaggerated) but everyone was giving Slackware grief for some 6 years between releases but iirc stock Debian was on release 9 or 10 for far longer.

However LTS is good but I really wish there was a rolling style LTS where when the “upgrade” came it was just another update. System stays up, crap updated through proc yada yada. Though I know I’ve come to hate version upgrades now because every release since 18.04.6 the upgrade process fails and you’re just left redoing everything and migrating what you can. For years I was excited for the new version…then it just turned into something I loathed and feared.

1 Like

I really think you should look at containerization again. Its not a bandaid its micro virtualisation and its the direction everything is going for security and ease of use.

Even future versions of windows are looking to open applications in a container type environment for the desktop.

I personally love Systemd it makes management of multiple servers much simpler because I have standard commands across systems.

I have distro hopped my whole linux life, Slack, Gentoo, Debian, Ubuntu, LFS, and now I daily Manjaro for my personal desktop.

I like many aspects of Arch/Manjaro but the package manager is not one of them. I use it because the other aspects are worth it to me.

I still think Gentoo had the best manager when I last used it.

Well I wrote a bunch but kinda moot. Containerization is off topic and still needs a stable host which is on topic.

Anyhow thanks for the suggestions. I’ll keep tossing around Suse Leap, Stock Debian, NetBSD and Fedora Server and see who fits best.

*Updhert looks like Stock Debian is where I’m headed. While it’s slow as ferk to install it’s faster and less overhead than the other Linux distros. NetBSD kinda cleans floor in these areas as well but I feel Debian is probably going to serve best and I will probably be able to migrate things a lot easier.

I switched from Ubuntu to Debian for reasons similar to op which works especially well for me as I’m presently using ProxMox for virtualization and TrueNAS Scale for ZFS storage and typical network services and both of them are built on Debian.

Do to my interest in OpenStack and OpenShift I’m also setting up some Red Hat Enterprise OSes as well.

Red Hat should be given serious consideration if you want tested and enterprise worthy Linux. I’m not a fan of the company per say but the software is really good.

1 Like

I did peek at RH, it’s been maybe 20ish years since I used it. Back in the day I wasn’t so much a distro hopper as I was one of those nuts who was like “Hmm let’s see if we can boot 9+ separate OS’s off this hard drive!” So I had a lot of OS’s all the time on each machine for test/play/work. I think my record was something like Win XP, Win 2000, Gentoo, Mandriva, FreeBSD, NetBSD, Slackware, Vector, Qnx, BeOS (4lyfe).

Right now stock Debian seems to be more in line with what I want. One of the things that gets me about the whole “Ubuntu has become trash since 18.04” bit is there is no clear way to dig out or research the changes they made for this to happen. It’s a frustrating curiosity but I know the Ubuntu Server installer is god awful and I suspect much like the “Unity” DE and various other little “Look at us we’re different.” Tweaks and utils is how Canonical has gone from kinda the goto distro to now being left by the way side in almost all situations. I know their commercial server market is still strong but…for how long given their downward trajectory. So many missteps the last few years…like the no 32bit support threatening to kill gaming…they just seem out to lunch on sooo many fronts anymore.

2 Likes

I gave a read on all the comments. I’ll be the first to recommend you try Gentoo, Alpine and Void. If you don’t like compiling your stuff, then obviously don’t use Gentoo, but then why you would go with NetBSD. pkgsrc I believe compiles packages from source too.

I would also recommend Fedora Server and CentOS Stream. Fedora is more up to date, so it is good for web devs, especially if people are into npm and other JS nonsense that I hate. CentOS Stream is a bit behind Fedora, but has newer stuff than RHEL / Rocky / Alma / Oracle Linux and should still be very solid.

Honorable mention would be OpenSUSE Tumbleweed, which is a rolling release with transactional updates. It takes BTRFS snapshots before updates, so if something goes wrong, you just revert your system back. I never used it, but I heard good things about it. I do use Tumbleweed in WSL2 at work for some stuff, but WSL is just garbage. Zypper though is pretty good.

For server stuff, if it fits your workflow, Alpine is a really different kind of beast. It’s minimal, apk is the fastest package manager hands down, and its packages are updated very often. It is fixed release, but that’s mostly the base OS. But you have the Edge channel, which I never used, but heard it’s pretty stable, despite the red markers on the Alpine wiki that it may lead to data loss. Well, Alpine Edge is equivalent to Debian unstable. Add the community repo and you get a lot of stuff done with Alpine. Alpine uses OpenRC for process supervision (i.e. service management). I believe you may already be familiar with it.

Void is another different kind of beast. I use Void as my Samba server base and another Void VM as my Grafana+Prometheus server (all 3 available in the main repo). Void is rolling release, but not bleeding edge. But it does get updated very frequently, so the possibility of your LAMP server going haywire is there. But the base OS itself is rock-solid, just like Alpine. I never had to reinstall Void, ever.

Void uses runit for process supervision. Runit is really simple, given its daemontools roots. But dependency in runit is more of a hackjob than OpenRC, it’s pretty insane. Runit doesn’t have any checks by default to, for example, make sure dhcpd or wpa_supplicant is started before trying to start sshd or ntpd. On a server, you need certain things to be up before others, especially if you want to run a website and a db. If the DB is not up, the website will not like that, and you’d have to do check scripts with while loops and sleeps until you see the process up and running.

From all of the above, I’d suggest you stick with either Alpine or Fedora. Fedora server is pretty lightweight, all things considered. If systemd is not your cup of tea, go with Alpine. Fedora has the default / reference implementation of systemd, so from my experience systemd behaves the least bad on Fedora, compared to Arch, Manjaro, Ubuntu and Debian.


One last thing I’d like to add is that Linux Containers are so much better than OCI containers (Docker, Kubernetes etc.) if you want to manage stuff the “old” Linux way. I may plan to move my infrastructure into LXD containers, still running on Void. Just make sure you bridge the LAN to the container bridge, so you don’t get NAT-ed containers. You can choose to run whatever host distro you want, like say Alpine, and run containers of another OS, like Debian to host your website in. Bonus points for LXD is that you can basically do container supervision by having them start in a certain order (priority). You can have your DB container start first, followed by your website once that one is up.

One thing about LXD is that containers still have their process supervisor running (unlike WSL), so if you plan on hosting the DB in the same container as your website, you will be able to use systemd unit files to check dependencies, but not be bound by the ugly systemd mounting issues.

I don’t necessarily hate systemd, but I have had a lot of issues when trying to reboot different linux distros, because systemd would not timeout and force unmount partitions like /home, or samba mounts, even though no files were still open when the reboot was initiated. It would just stay there waiting for it to unmount for more than 30 minutes, requiring a force shutdown. Imagine having to wait 30 minutes for a reboot that takes 10 seconds under normal conditions. Been there, done that, multiple times.

Unity was actually a well thought out desktop and I wish Lomiri will get more traction (even though I now use sway, but I’d like to see Lomiri on Wayland and to use it on a Linux phone). From what I hear, Ubuntu Touch is the most polished phone experience on the Pine Phone.

Ubuntu, however, went downhill for me since 18.04. Actually, 14.04 was the last Ubuntu release that I really considered rock solid. 16.04 had its issues, but was still very usable. With the advent of 18.04, I had a lot of hair falling off, besides the fact that they killed Unity around 1 or 2 releases earlier (and I helped test Unity on 18.04, it was still somewhat working, but had a few things not work anymore). 18.04 caused me a lot of grief on both the desktop and on servers, compared to 16.04 that was just working. I don’t think 20.04 is any better. It fixed some things on the desktop, but I haven’t used it as a server anymore, so I don’t know how it fares there.

On the desktop, I had Ubuntu 18.04 freeze so many times with just a browser and a file manager open. And had many people have Ubuntu frozen with just an IDE and a browser open, with way less tabs than I keep. So much so, that I switched people to Fedora and they thanked me, while I was using Arch, but it borked because of a hardware failure and I couldn’t resurrect it, so I switched to Fedora too. This was happening at work.

At home, I use Void, but that’s a different story.

I didn’t read this thread, saw the headline “server Os suggestions”

and, after last week, stay away from ReFS. far, far away. It is astonishingly, shockingly bad. Imagine first public release of btrfs raid 5 bad, times 50.

So whatever you use for a server OS, refs is less reliable than fat32.

4 Likes