My household primarily runs Arch and Artix for our desktop OS and never have any issues with it, however we have had no end of issues with our home server* and it often ends up being related to systemd.
I am ideally looking for something that can just be left and updated less frequently that can also run docker containers, ideally using OpenRC but can also occasionally run a package on the host system. I’d prefer something GNU as well.
Please don’t reply with any “systemd works fine for me” or “what is your problem with systemd” like most that a search turns up.
Edit*: Probably should have mentioned that its been on CentOS, Ubuntu and then OpenSuse Leap
This is an AB problem in which you’re going to eventually solve the actual problem that isn’t actually systemd after looking real hard at ways to replace systemd.
Or else you’re going to find yourself in an increasingly painful maintenance process trying to retrofit rc scripts into constantly evolving distributions.
There’s a lot I prefer about the old SysV, and I’m still not thrilled that everything is being more dependent on these large monolithic daemons. But I’ve yet to find a systemd problem that wasn’t just me not knowing how to use systemd.
I use Alpine Linux for my home server. I chose it cause it runs very well on my raspberry pi 4 NAS/media server. I can leave it running for a long time, and I won’t have issues with it. Pretty easy to install applications and run docker containers. Its very lightweight and efficient. The only issues I have with it is that sometimes packages won’t be available for me due to running an ARM CPU. Usage is slightly different than something like Ubuntu, slightly different commands and such. You’ll also have to install all the applications You’ll need. I only need SSH access to it, i don’t have a GUI or desktop for it.
I’m just curious, what’s your reason or preference for using an alternate init system, if you don’t mind?
I think op explicitly stated they don’t want to diskuss the “why not systemd?” thing.
Which is dumb. “Please help me solve this problem I don’t want to talk about.”
Most of the usual reasons really. Resolved, networkd and the journal were the culprits of the mess that happened last night though.
I use Devuan and it’s just Debian without systemd.
Docker containers often need to be restarted if they crash, I’m not aware of a solution for this that isn’t a monolithic service orchestrator, like systemd, dockerd, or containerd.
restart: unless-stopped
works for automatic restarting of crashed containers.That requires running either systemd or dockerd to work.
Systemd is well supported and simplifies everything. Why would you not want it?
Read the last paragraph.
and simplifies everything
Not at all, no.
i think init files are simple. i’m still not used to the systemd syntax and i switched whenever ubuntu did.
Honestly your probably shouldn’t be writing your own init scripts. That is bad practice and there are better ways of doing things.
Also just to reiterate systemd is so much faster to boot and manage. Everything is sandboxed properly and dependency management is handled for your. You literally can install a package and then start the service. (Although containers are the better option)
And it has a CVE about each month. Which is more than other init have in their lifetime.
Switch to a stable Linux distribution like Debian Stable or Ubuntu LTS. The issues you’re facing are much more likely caused by new package defects instead of the init system, or new defects in the init system packages. Switching the init system but keeping rolling will change the where and how defects crop up. Switching to a stable distro will nearly stop new defects from cropping up altogether till a major version upgrade. Which is measured in years. In the case of Ubuntu LTS, 5 years by default and 10 years if you activate the free Ubuntu Pro. That’s the easiest way to stop servers from breaking and having to watch over them.
Yeah, rolling release on a server sounds horrifying. You couldn’t pay me enough to live that nightmare.
There’s a reason “enterprise” server distros exist. Install LTS release once every 2, 4, or 5 years depending on taste, login to update as you remember the machine is even running an OS, and just generally forget the machine exists for several years at a time.
It’s how I do. Unattended security upgrades in tow.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters LTS Long Term Support software version NAS Network-Attached Storage SSH Secure Shell for remote terminal access VPS Virtual Private Server (opposed to shared hosting) k8s Kubernetes container management package
5 acronyms in this thread; the most compressed thread commented on today has 10 acronyms.
[Thread #511 for this sub, first seen 14th Feb 2024, 19:15] [FAQ] [Full list] [Contact] [Source code]
I am ideally looking for something that can just be left and updated less frequently
You might want that but security holes happen every day and need to be patched asap. Honestly, if you want to spend the least amount of effort use a stable distro like Debian stable and just use the package manager to update, a lot less effort than replacing entire containers for everything all the time.
Stop using a rolling release distro for something that you actually rely on day-to-day.
I was trying to say that my desktop on Arch works fine but my server has been running various different distros being Ubuntu and OpenSuse Leap most recently.
Try Debian
My Arch Linux Homeserver and VPS which ran since years are like: “huh?”
Not a single Ubuntu upgrade failure on my book anymore 🤞
I would like to know the problems you’re having with systemd, but since you wouldn’t like to explain…
TBH with all the shit I give Poettering, systemd is a good system for the most part, it’s just ideologically not for me, and it’s also really complicated from people who have worked on it.
With that said, I’d point you towards Alpine. I once ran a server in the cloud with it and have no issues other than if you were to use musl, but if you’re using GNU I don’t think you’ll have such issues.
Why aren’t you trying the BSDs? FreeBSD is quite stable and if you’re going to run VMs anyway, run a couple to host your k8s infrastructure/podman nodes and off you go!
I use artix for my work and personal servers. There are a few kvm hosts and several virtual machines with internet facing services such as dns, web, mail, wireguard. On the way to be fully gitopsed with ansible. Sometimes I borrow specific packages from arch repos but almost everything can be made with artix alone. The only notable issue I had was with cloud-init which I replaced with more complex playbooks and bash scripts. Ama
gentoo with openrc works just fine for me (for docker/podman there is a separate debian machine though, as I don’t want untraceable blobs from the internet in my LAN)
Alpine is without Systemd tho? I see no issues there. It’s primarily made for containering too. Their init uses busybox, afaik.
Obarun comes with the excellent s6 init but uses pacman as pkgmanager, rolling. Void is semi-stable afaik, but might still fit your bill.
Then there’s Devuan (mileage my vary, since it’s a fork) but they use a weird Runit/Sysv-hybrid if you choose Runit. Or old and clunky SysV, by default. Maybe Knoppix/MX works better?
Gentoo can use OpenRC but you want stable. (there’s even an s6 repo, yay!)
AntiX, Slackware, DSL, IPFire, i have no experience with.
I’m a noob to self hosting, but I have plenty of experience with various linux distros, use this to gage how big of a pinch of salt you want to take this with, however imo the best option would be to just use debian and switch out the init system manually