SystemD is blamed for long boot times and being heavy and bloated on resources. I tried OpenRC and Runit on real hardware (Ryzen 5000-series laptop) for week each and saw only 1 second faster boot time.

I’m old enough to remember plymouth.service (graphical image) being the most slowest service on boot in Ubuntu 16.04 and 18.04. But I don’t see that as an issue anymore. I don’t have a graphical systemD boot on my Arch but I installed Fedora Sericea and it actually boots faster than my Arch despite the plymouth (or whatever they call it nowadays).

My 2 questions:

  1. Is the current SystemD rant derived from years ago (while they’ve improved a lot)?
  2. Should Linux community rant about bigger problems such as Wayland related things not ready for current needs of normies?
79 points
*

Nah, it’s fine. Boot times are considerably faster than sys.v in most cases, and it has a huge amount of functionality. Most people I work with have adopted it and much prefer it to the old init.d and sys.v systems.

People’s problem with systemd (and there are fewer people strongly against it than before) seem to break down into two groups:

  1. They were happy with sys.v and didn’t like change. Some were unhappy with how distros adopted it. (The debian wars in particular were really quite vicious)

  2. It does too much. systemd is modular, but even so does break one of the core linux tenets - “do one thing well”. Despite the modularity, it’s easy to see it as monolithic.

But regardless of feelings, systemd has achieved what it set out to do and is the defacto choice for the vast majority of distros, and they adopted it because it’s better. Nobody really cares if a user tries to make a point by not using it any more, they’re just isolating themselves. The battle was fought and systemd won it.

permalink
report
reply
25 points

One of my biggest problems with critics of systemd is that a lot of the same people who make that second point also argue against wayland adoption when xorg does the exact same thing as systemd. It makes me feel like they’re just grumpy stubborn old Linux nerds from the 90s who just hate anything that’s not what they learned Linux with.

Which is sad, because honestly I think it’s kind of not great that an unnecessarily massive project has gained such an overwhelming share of users when the vast majority of those users don’t need or use most of what it does. Yeah, the init systems from before systemd sucked, but modern alternatives like runit or openrc work really well. Unfortunately they get poorly supported because everyone just assumes you have systemd. I don’t like the lack of diversity. I think it’s a problem that any init system “won”.

permalink
report
parent
reply
8 points

Unfortunately they get poorly supported because everyone just assumes you have systemd.

No, they get poorly supported because they were a pain to support even before systemd ever showed up. I for one was extremely tired of writing the same shit over and over again in every init script and then going through the tedious process of porting the script to every platform for minor idiosyncrasies of the various distros (start-stop-daemon available or not was one I remember, the general bash/GNU vs. BSD stuff you get with any script was another) from 10 year old RHEL to modern ones.

permalink
report
parent
reply
4 points

Maybe systemd gets grouped with wayland and xorg with other init systems simply because of usability?

I mean, I got used to the thought that what I prefer is less usable, because some pretentious UX designers say so, and we Unix nerds use inconvenient things because we are all perverts.

But when I read about industrial design and ergonomics, it seems that my preferences are consistent with what I read, and all those UX designers and managers should just be fired for incompetence and malice.

Back to wayland/xorg and runit/systemd (for example), same reason FreeBSD may seem easier to set up and use than an “advanced” Linux distribution - there’s less confusion.

permalink
report
parent
reply
4 points
*

Xorg, or X11, “used to” do the “minimum necessary” for a remote display system… in the 80s. Graphics tech has changed A LOT in the last 40 years, with most of the stuff getting offloaded to GPUs, so the whole X11 protocol became more and more bloated as it kept getting new and optional features without dropping backwards compatibility.

The point against Wayland, was dropping support for remote displays, while kind of having an existential crysis for several years during which it didn’t know what it wanted to become. Hopefully that’s clear now.

OpenRC and runit are indeed working alternatives, but OpenRC is kind of a hack over init.rd, while runit relies a bit too much on storing all its status in the filesystem. Systemd has a cleaner approach and a more flexible service configuration.

permalink
report
parent
reply
15 points

I like it too. Very easy to work with and set up services as needed.

permalink
report
parent
reply
11 points

“do one thing well”

Arguably, Systemd does exactly that: orchestrate the parallel starting of services, and do it well.

The problem with init.d and sys.v is they were not designed for multi-core systems where multiple services can start at once, and had no concept of which service depended on which, other than a lineal “this before that”. Over the years, they got extended with very dirty hacks and tons of support functions that were not consistent between distributions, and still barely functional.

Systemd cleaned all of that up, added parallel starting taking into account service dependencies, which meant adding an enhanced journaling system to pull status responses from multiple services at once, same for pulling device updates, and security and isolation configs.

It’s really the minimum that can be done (well) for a parallel start system.

permalink
report
parent
reply
6 points

Is there somewhere I can read about the Debian wars? I am curious about that 🤓

permalink
report
parent
reply
2 points

I also think that sounds intriguing.

permalink
report
parent
reply
2 points

Prepare for a rabbit hole… but this ought to get you started…

https://wiki.debian.org/Debate/initsystem

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727708

permalink
report
parent
reply
6 points

Thanks a lot. I truly hope this is the big picture and SystemD whiners are just a fringe minority lol

permalink
report
parent
reply
5 points

I just hate the syntax, systemctl start apache2 feels like dumb manager speak over service apache2 start.

But other then that I love how systemd has been for me.

permalink
report
parent
reply
7 points

How so? I like the systemctl syntax more, since it allows for starting/stopping many units at once. It also supports a much richer set of commons than service ever did.

permalink
report
parent
reply
2 points

it just feels like a manager decided the command should read like english, made the decision then went back to never entering a command again in the terminal again. every day, i get to decide, should i enter “systemctl restart problem_service” all again or hit up on the keyboard and and hold back, then rewrite over the previous status command. bit less work if the status/stop/start/restart bit was on the end like it used to be.

permalink
report
parent
reply
3 points

systemctl start apache2 mysql haproxy

That is the reason.

permalink
report
parent
reply
1 point
*

Y’know, I felt that way to begin with and it certainly took a long time for my fingers to adjust, but I’ve grown to adjust to that.

And it’s better - you can do: “systemctl restart Service1 Service2 Service3” Before, with “system Service1 restart” you could only action on service at a time.

Plus, it’s linux, so you can set up aliases to change the order into anything you like, even carry on using the old muscle memory formats. (Although I don’t encourage this if you intend working on multiple servers!)

permalink
report
parent
reply
2 points

systemd is modular, but even so does break one of the core linux tenets - “do one thing well”.

Linux itself (i.e. the kernel) breaks the hell out of that so-called core tenet. Have you looked at make menuconfig at any point? There’s everything but the kitchen sink in there.

permalink
report
parent
reply
0 points

Apples to oranges, and you can have a minimal kernel tailored to your needs.

permalink
report
parent
reply
-2 points

They’re the main reasons, yes, but there are plenty others .

permalink
report
parent
reply
48 points

systemd is a godsend when you need service control while getting actual work done, at scale.

there are legitimate things to criticize but in general the rants are incompetent preaching to the uninformed.

permalink
report
reply
2 points
*

systemd is a godsend when you need service control while getting actual work done, at scale.

there are legitimate things to criticize but in general the rants are incompetent preaching to the uninformed.

Service control was systemd’s main benefit and what it most excelled at. Having shell scripts for everything was a legitimate pain. It was all the other pieces of the ecosystem that it was wanting to subsume that got people upset (logging, cron, time, hostname, login, etc). Journald/binary logs was the main sticking point that I recall, though I figured it was a trade-off that was worth it, especially since you could have journald keep dumping to text anyway.

permalink
report
parent
reply
29 points
*

permalink
report
reply
27 points

I do not think systemd is bad, I (and personal preference here) much prefer it over the older style of init systems.

Quite frankly, one of the things that has always irked me about a portion of the Linux community is that as far as I know, a strength and selling point of Linux has always been the freedom of choice. And yet, people start wars over your choices. For example, I know at least on r/Linux if you were to make a post saying that you liked Snaps over Flatpaks you’d get torn to shreds over it. Wouldn’t matter what reasons you had either.

It is always something. Whether its about Arch vs other distros, Snaps vs Flatpak vs AppImage vs Traditional packaging, X11 vs Wayland, systemd vs Sys V/init.d, pulseaudio vs pipewire, etc.

I never understood why it mattered so much what someone ran on their own computer. Assuming they’re the only one using it, what is the big deal if they choose to run OpenRC, X11, Snaps, and Alsa?

And I get a bad feeling the next one is going to be immutable distros vs non-immutable distros, but I guess we’ll see.

permalink
report
reply
12 points
*

Quite frankly, one of the things that has always irked me about a portion of the Linux community is that as far as I know, a strength and selling point of Linux has always been the freedom of choice. And yet, people start wars over your choices

the “war” about systemd was actually a discussion about the (continuing) ability to make choices, not that some people chose systemd over other options. One of the main points of the debate was that systemd was monopolizing the init process and turning gnu/linux into gnu/linux/systemd.

The assertion that people were just upset like little babies that some wanted to choose a different init is highly disingenuous.

permalink
report
parent
reply
-2 points

And yet it’s the only argument you’ll hear. I don’t know what possesses some people to act like critcism of systemd makes you an entitled manchild, I suspect they might be imbeciles.

permalink
report
parent
reply
1 point

Snaps and Flatpaks, are essentially the same thing seen from a different angle, so anyone preferring one over the other, basically deserves whatever they get 😋

The rest… well, freedom of choice is one thing, but when discussing the pros and cons, there are likely people who got burned by the cons of any choice out there, and each choice has their fair share of cons, so it’s understandable that they’d sometimes get emotional.

permalink
report
parent
reply
19 points

systemd isn’t bad at all. People simply don’t understand that it is not “just an init service”.

permalink
report
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 7.9K

    Monthly active users

  • 6.4K

    Posts

  • 175K

    Comments