this post was submitted on 21 May 2025
25 points (90.3% liked)

linux4noobs

2051 readers
21 users here now

linux4noobs


Noob Friendly, Expert Enabling

Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.


Seeking Support?

Community Rules

founded 2 years ago
MODERATORS
 

thoughts, comments, concerns on systemd? was having a convo w someone that's on mx linux & it piqued my interest.

top 33 comments
sorted by: hot top controversial new old
[–] namingthingsiseasy 7 points 1 day ago

I don't like systemd mostly because it gives Red Hat too much power over the Linux ecosystem. For example, udev and logind used to be independent components that were eventually merged into systemd, and the onus was put on the community to maintain their independent derivatives (eudev and elogind). systemd's original developer (Lennart Poettering) has been very open about his intention to make life difficult for anyone that doesn't adopt systemd (source and original quote).

To me, systemd is the Google Chrome of Linux - it tries to make life easier and does a good job of that, but it's also explicitly designed in such a way to push out all competitors. So I avoid it at all costs and prefer other distros like Devuan, Void, Alpine, Gentoo and so on. That said, I don't do enough to contribute back to those projects, so I wish I were more helpful about it than I actually am :-(

Regardless, this doesn't mean that you need to do the same thing. If you're new to Linux, use whatever makes you happy and your life easiest! Practically none of the non-systemd distros are particularly easy to set up and use (Devuan may be an exception, but is likely the only one). And besides, a lot of this stuff is very old, and Poettering hasn't even worked at Red Hat for multiple years now.

But do keep in mind that systemd was a very political topic and still poses a threat to the Linux ecosystem - anyone could take over the project and leverage it to make life difficult for anyone that doesn't want to do things the Red Hat way. And since many of the major distros have made it the only option at this point, they'll have no choice but to be dragged along with it. Keep that in mind as you gain more experience with Linux and think about trying alternatives.

[–] [email protected] 12 points 1 day ago* (last edited 1 day ago)

If you are new to Linux I think it makes sense to use systemd. It’s the default for a reason. All major distros use it for a reason. It’s only a really small minority of very vocal people who are against it.

If Debian and Fedora and Ubuntu and All the enterprise linuxes use the same thing, I think that says something.

Despite claims to the contrary systemd is substantially faster and easier to use than its predecessor.

It’s simpler and easier to use. Take a look at these examples. Service files are so so much easier to use and are much more robust than hundred line bash scripts.

Systemd:

[Unit]
Description=OpenVPN tunnel for %i
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

Sysvinit

#!/bin/sh
### BEGIN INIT INFO
# Provides:          openvpn
# Required-Start:    $network $remote_fs
# Required-Stop:     $network $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: OpenVPN service
# Description:       Start or stop OpenVPN tunnels.
### END INIT INFO

DAEMON=/usr/sbin/openvpn
CONFIG_DIR=/etc/openvpn
PID_DIR=/run/openvpn
DESC="OpenVPN service"
NAME=openvpn

. /lib/lsb/init-functions

start() {
    log_daemon_msg "Starting $DESC"

    mkdir -p "$PID_DIR"

    for conf in "$CONFIG_DIR"/*.conf; do
        [ -e "$conf" ] || continue
        inst=$(basename "$conf" .conf)
        pidfile="$PID_DIR/$inst.pid"

        if start-stop-daemon --start --quiet --background \
            --pidfile "$pidfile" --make-pidfile \
            --exec "$DAEMON" -- --daemon ovpn-$inst --writepid "$pidfile" --config "$conf"; then
            log_progress_msg "$inst"
        else
            log_warning_msg "Failed to start $inst"
        fi
    done
    log_end_msg 0
}

stop() {
    log_daemon_msg "Stopping $DESC"
    for pid in "$PID_DIR"/*.pid; do
        [ -e "$pid" ] || continue
        inst=$(basename "$pid" .pid)
        if start-stop-daemon --stop --quiet --pidfile "$pid"; then
            rm -f "$pid"
            log_progress_msg "$inst"
        else
            log_warning_msg "Failed to stop $inst"
        fi
    done
    log_end_msg 0
}

status() {
    for conf in "$CONFIG_DIR"/*.conf; do
        [ -e "$conf" ] || continue
        inst=$(basename "$conf" .conf)
        pidfile="$PID_DIR/$inst.pid"
        if [ -e "$pidfile" ] && kill -0 "$(cat "$pidfile" 2>/dev/null)" 2>/dev/null; then
            echo "$inst is running (pid $(cat "$pidfile"))"
        else
            echo "$inst is not running"
        fi
    done
}

case "$1" in
    start) start ;;
    stop) stop ;;
    restart) stop; start ;;
    status) status ;;
    *) echo "Usage: $0 {start|stop|restart|status}"; exit 1 ;;
esac

exit 0
[–] [email protected] 6 points 1 day ago (1 children)

I just want to say that I love systemd. Working with services and timers is just a pleasure. Handling dependencies is sooo much easier. This is just my opinion, but yeah, I can't imagine dealing with SysV in 2025.

[–] [email protected] 1 points 1 day ago (1 children)

This confuses me. I have a terrible experience each and every time I try to make a unit fine. To be fair, it's often a long time between each time I do

[–] RangerHere 2 points 21 hours ago (1 children)

I had similar issue. Every time I was writing a systemd file, I would have forgotten what I previously learned.

These days I just make deepseek/changpt do it. 90% of the time they get it right. Even if they get it wrong, you end up with a file that will be perfect with a line or two changes.

[–] [email protected] 1 points 20 hours ago

Yeah probably easier now with AI. I just remember wishing it was more like the container orchestration tools

[–] JackbyDev 15 points 1 day ago

systemd is fine. Seriously. It shouldn't be something you avoid unless you have some specific reasons.

[–] [email protected] 29 points 1 day ago

The fight was fought, and systemd won. If you're looking to learn theory then by all means look into the alternatives, but if you're wanting to use what's in most systems then go with systemd.

[–] [email protected] 1 points 21 hours ago

systemd is still a solution in search of a problem. I use it but sysV/init also works just fine.

[–] [email protected] 6 points 1 day ago

Are you someone who just want to use your computer?

Pick systemd

Are you someone who likes to experiment?

Then it won't really matter

[–] [email protected] 6 points 1 day ago (3 children)

After 12 years (me converting in 2013 to systemd on Arch BTW)
I can say we finally have standardization between major distributions.
OpenRC, SysV or Upstart...? How to do things...

Real boot time improvement.
Real multiple instances of the same service ([email protected]).
Drop-in overrides. Builtin DNS cache, timesync, syslog, cron (kinda, timers have new syntax),
cgroups, boot manager, network manager, containers, and more...

Not a Unix or KISS philosophy, but come on, we need a fresh blood.
There is no "next gen" kernel/operating system in the horizon.

I have Devuan and PostmarketOS (Alpine with desktop environment),
I feel like a caveman. Things which are easy to do in systemd, in OpenRC are not trival.
OpenRC in Gentoo is not the same as in Devuan.

Also, more and more software is systemd-centric.

However.
I encourage you to discover Linux without systemd first (extra layer of abstraction may be difficult during learning).

[–] [email protected] 4 points 1 day ago

Real boot time improvement.

I still remember the switch, this was amazing.

[–] [email protected] 2 points 1 day ago (1 children)

Have you tried Chimera yet?

[–] [email protected] 1 points 1 day ago

It's in very experimental stage.
It will go mainstream or be like a university paper.

[–] [email protected] 4 points 1 day ago (1 children)

If you're still (relatively) new to Linux and are mostly interested in "just works", then you simply can't go wrong with systemd. It has (for better or worse) become the de facto standard on Linux and is therefore often assumed to be present. Hence, actively resisting it might be 'costly'. Therefore, you should carefully consider whether it's worth straying from the beaten path. Like, what do you hope to achieve?

As for the elephant in the room, what alternative can even put up a fight? While I'd be the first to admit that systemd's design ethos leaves a lot to be desired; it's so feature-rich that I've yet to find any distro that puts good use to (almost) all of them. But, including everything and the kitchen sink does make it hard for its competitors to compete whenever it matters; perhaps it's one of the key reasons why systemd is as reliable as it is OR why attempting to replace systemd on Fedora/NixOS/openSUSE is a nonstarter. (Being founded and funded by Red Hat doesn't hurt either. Nor does it hurt when its main developer is on Microsoft's payroll.)

Though, even if I don't see the likes of OpenRC/runit/sysvinit ever compete with systemd in terms of capabilities, I am cautiously optimistic for dinit and s6.

~~LOL, who am I kidding, systemd will (probably) only be dethroned whenever its PipeWire/Wayland is introduced.~~

[–] [email protected] 2 points 1 day ago

this is great information! i’m relatively new, so it is nice to hear from users & not just documentation & what not.

[–] [email protected] -1 points 1 day ago (1 children)

Systemd is objectively slow so I would prefer avoiding it when possible. I can't do it myself though because I'm not very familiar with management of the alternative solutions.

[–] [email protected] 4 points 1 day ago (1 children)

Which part of systemd is slow?

[–] [email protected] 2 points 1 day ago (2 children)
[–] [email protected] 1 points 18 hours ago (1 children)
[–] [email protected] 1 points 6 hours ago* (last edited 6 hours ago)

That's the same as if I said "Cyberpunk 2077 can offer 240 FPS in native 4K". Sure, but only on a professional PC with many GPUs.

[–] [email protected] 2 points 1 day ago (1 children)

Meanwhile my system (with the d) boots in less than 30sec. How fucking fast do you need it to be? Boot before you turn it on or something?

[–] [email protected] 2 points 1 day ago (1 children)

In case you didn't know, boot time also highly depends on the hardware. The worse the hardware is, the longer are boot times and the bigger is the difference between init systems.

[–] [email protected] 2 points 1 day ago (1 children)

Well tbf I'm using a framework now, but on my last laptop, a 2014 toshiba satellite with an i5 and 4gb of ram, it still started up in less than 30sec. Last time I booted it was when the framework 16s shipped, so not that long ago. What, you running a pentium II with 8 megs of RAM or something?

[–] [email protected] 1 points 22 hours ago (1 children)

I had 2 testing devices: one with 4 gb of RAM and one with 8 gb. None of them are as powerful as anything with an i5 but I think they're decent enough.

[–] [email protected] 2 points 21 hours ago (1 children)

Well alright, but that's a case of decade+ old hardware that may need something lighter on resources depending on the processor. 4gb of ram is totally enough to boot systemd systems quickly, so the processor may be a bit of your bottleneck there. But that's not exactly unexpected, for something like that you'd likely be looking for a lighter distro over one that is more current, like puppy, antix, slax, something meant for that application, it's just a case of picking the correct tool for the job.

[–] [email protected] 1 points 6 hours ago (1 children)

You're totally right here but it only confirms what I said. If systemd wasn't heavier, it wouldn't take longer to boot on any hardware (exceptions are possible though).

[–] [email protected] 0 points 4 hours ago (1 children)

Tbf, idk how long those systems would take to boot with a systemd-less OS either, but I bet it's still longer than my systemd-having satellite or framework, because the problem here isn't systemd, it's the ancient hardware. It's like claiming iOS sucks because the OG iPhone can't run iOS 18 well. (It does suck of course due to the walled garden and many other things, but the point is trying to run newer stuff on older hardware is always going to be "slower" because "old hardware.")

I think somewhere deep down you probably know that. Sure, systemd is heavier than no systemd, but also hardware that isn't over 10yr+ old can run it fine and nitpicking about its boot time is ridiculous unless you have that specific need, in which case your need becomes pertinent information to your nitpick.

Btw, I'd be interested in knowing just how long "long time to boot" is, is it even longer than a minute or two, which would be serviceable on hardware that ancient imo?

[–] [email protected] 0 points 3 hours ago (1 children)

Now I completely disagree with this. Slower is slower, no matter the hardware. On newest hardware faster stuff still will be faster and power consumption will be lower. Some slowdown can be justified (for example when it's related to critical security or the amount of installed apps) but saying that it's the hardware is completely ridiculous unless the hardware has to emulate unsupported calls or something like that.

Btw, I'd be interested in knowing just how long "long time to boot" is, is it even longer than a minute or two, which would be serviceable on hardware that ancient imo?

Around 90 seconds on the 8 gb machine I'd say. Imo it's extremely long. I don't remember the boot time on the faster 4 gb machine but I remember that using an alternative init system increased the speed to one comparable with my gaming system with an NVMe SSD and Windows 11. And that is on an HDD-only machine. I think it's very impressive.

It obviously also depends on the amount of services activated but the difference was massive so I think installing way more stuff wouldn't slow it down to the systemd level.

[–] [email protected] 0 points 3 hours ago

Honestly 90sec isn't that bad for old hardware like that, and whether you agree with using the appropriate software for your old hardware or not, it's still a thing. This is a you problem for sure.

[–] [email protected] -5 points 1 day ago (1 children)

Fuck systemd. And fuck the inevitable downvoters.

[–] [email protected] -1 points 1 day ago

How are you gonna stick your dick into bytes? You can't do it, it's too small!