5 points

What else besides running services can system.d do?

permalink
report
reply
11 points
*

bootload, manage devices, manage the network interface, manage accounts, log in, provide a host for temp files, schedule stuff, log events

All of this is background stuff to me so I don’t care

(n.b.: systemd also suffers from a linux kernel vs linux situation. systemd has a component named systemd that only does services stuff)

permalink
report
parent
reply
5 points

I believe you mean GNU/SystemD/Linux…

permalink
report
parent
reply
7 points

You forgot manage containers, manage system timers, manage network interfaces (in some cases)…

permalink
report
parent
reply
0 points

manage system timers, manage network interfaces

I said “manage the network interface” and “schedule stuff”

manage containers

That requires podman or some other program, so that’s like saying shell does container management

permalink
report
parent
reply
6 points
*

DNS resolution, clock synchronization, there’s something about keyboard configuration but it stopped to make me problems for no reason so I don’t know what exactly…

Oh, and IPC so that Gnome can not be done until other inits won’t run!

But there are a lot of other modules.

permalink
report
parent
reply
11 points

I can’t believe how much time has passed since the controversy. If I remember correctly the problem is that systemd eats babies

permalink
report
parent
reply
47 points

TL;DR init system, services, sockets, slices, logs, boots, VM’s, containers… and that’s fantastic, for monolithic systems. journalctl go brrrr

Strap in, folks. Old timer with a gavel to slam.

When systemd is unfolded in full, people are sort of apt when they jokingly say “-Linux, or what I’d like to call gnu/systemd/Linux”. Some scream at the top of their lungs, yearning back to rc.0 days, “when everything was much simpler”… this is where the gavel comes down. There are so many improvements they are hard to list and if you asked me if I could go back, only with modern software, I would say nay… and here’s why:

Running services is a whole mess more than just running background apps, and it’s intrinsically intertwined with what is known as the init system - no matter what some people may think. Init is the process of initializing (or bootstrapping) an operating system, and services are background services, but both are about managing the processes within the Linux stack - or the thread. Some say that systemd is doing more than it should, but systemd is not “crossing streams” when both init processes and services need to be managed in concert depending upon the way a system inits - because there’s more than one way to init.

systemd manages init through scopes, slices and services, which combined create the hierarchy of processes used to bootstrap a system, get things up and running, with their relative permissions, in a given state, to facilitate a running and functioning system. Socket units handle socket files or destinations, and timer units handle event driven processes.

It all comes together into a dependency chain that defines your running system, which is testable and manageable from a set of tools. systemctl is used to manage a running system, and I think it does a great job of it. Imagine fail testing a bunch of non-standardised, random rc bash script files that aren’t distro agnostic, along with whatever daemon runner you were using. It was a mess, and systemd sought to fix that - which imho it has. We view a booted Linux system and it’s process tree much differently through the systemd lens, which gives us a newfound focus that helps us better manage a running system.

Also, logs are binary now… you’re all so spoiled and you don’t even know it. Do you remember 20GB txt files you absolutely had to open? Pepperidge farm remembers. Which brings us journalctl, which is just so good. It’s the swizz army knife of Linux logs. You can point it at anything. Specify -k for dmesg, a service using --unit, point to a binary in /usr/bin, select previous boot with -b -1, -f for follow, -e take me to the end of a log. If you haven’t learned how to use this tool, you are running blind. It whips every dang logging system out there. Going from systemd to windows events feels like going from a soft mattress to the inside of an iron maiden.

systemd-boot is blazing fast. Don’t get me wrong, Grub2 is still fantastic as well (Apple seems to think so at least), but considering ease of us - as I often do - I’m inclined to prefer systemd-boot because of bootctl, because like journalctl, it’s a wonderful piece of kit for managing, analyzing and failtesting boot images, provides UEFI functionality and being a sort of one-stop shop for the boot process.

Now we we’re seeing systemd managing VM’s (machinectl) and containers (containerctl), and honestly I’m all for it. Make my life easier. Please. Standardise that mess. And since it is standard, everyone supplies systemd units and because of the nature of systemd and it’s designs, it’s all fail-safed to hell and back. This is good. We want this. At least on the desktop, workstation, even some servers. For containers, embedded, not so much, as they aren’t monolithic systems. That being said, NixOS has proven that systemd isn’t a barrier to entry for new system paradigms either, so I feel those fears were unfounded.

You get the theme here. Systemd is a system management suite, and not just a service runner or init system. It seems to grow and grow out of proportion, but at the end of the day, it’s about getting the system(s) and software up and running, as well as managing those processes and figuring out where problems lie. That’s what systemd does. It’s become part and parcel of a fully monolithic Linux stack, and in my opinion it’s a great project that makes our lives much easier.

To me systemd is zen. It’s the cup of tea Linux always needed, and I’m not ashamed to say so.

permalink
report
parent
reply
11 points

@taanegl @DmMacniel omg i was so prepared to hear a anti-lennart-pottering rant about sysv init scripts
thanks for what instead turned out to be a very thoughtful and educational text which i will now send to all these sysv ppl

permalink
report
parent
reply
14 points

Having to occasionally go back to OpenRC or Upstart systems is jarring. Systemd just does so much and does it so much better. Poettering seems like a bit of a chode but he genuinely made an incredible project. I also think that when people say systemd isn’t Unix-like, they forget that systemd isn’t monolithic and it’s possible to use some components of it but not others. The core is all based on a standardized way to start and manage processes and services, be it for boot or usage.

permalink
report
parent
reply
5 points

Damn. Thanks for the writeup.

permalink
report
parent
reply
2 points

Old timer built Linux… Old timers built open source. Don’t disrespect.

permalink
report
parent
reply
4 points

…yes, I know. I’m one of them. Used to compile my OS and everything.

Systemd is still better than init/daemons, categorically.

permalink
report
parent
reply
2 points

Many, many things.

The best feature I like is that it can keep track of dependencies and status. It is a “smart” control system for your computer

permalink
report
parent
reply
17 points

Hi am noob why systemd bad? I use Debian, is fucked?

Honestly I’ve been hearing about this for a while now but never bothered to check, I’m too lazy for that.

permalink
report
reply
13 points

I believe partly because it takes over so many responsibilities that it becomes a requirement for things that don’t need to require it. Plus it diverged from the Linux principle of do only one thing.

Also, afair, it was buggy for a while.

permalink
report
parent
reply
10 points
*

FYI: It’s called Unix principle, not Linux

https://en.m.wikipedia.org/wiki/Unix_philosophy

permalink
report
parent
reply
2 points

Oh yeah, thank you

permalink
report
parent
reply
20 points

I highly recommend you check out this video

SystemD is not really bad. Like 90% distros use it, and for good reasons. Some people just pointlessly hate it on it, same way some people like to hate on Wayland too.

permalink
report
parent
reply
2 points

Here is an alternative Piped link(s):

I highly recommend you check out this video

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I’m open-source; check me out at GitHub.

permalink
report
parent
reply
53 points

It’s not inherently bad, it “fails” the Unix Philosophy of “Do one thing and do it well” but since Linux’s kernel is:

  • Unix-like, not Unix
  • Fails this philosophy, as it does more than one thing but does all of it pretty well
  • systemd is just a bundle of tools that do one thing and do it well under one package, like Linux’s kernel

It used to be a mess, but that’s solved. The biggest reason to avoid systemd is mainly user preference, not anything malicious. 90% of current distros use systemd as its easier for the maintainers and package programmers to build for the general than each package and each distro having their own methods of how to do an init system and other tasks.

How Debian and Arch and Gentoo and Slackware and other big distros worked was different, and the maintainers of those packages had to know “Debian’s way” and not a general way that most places accept. Systemd actually solved the Too Many Standards! issue.

I’ve never really seen a big argument against systemd, but maybe I’ve just not heard it.

permalink
report
parent
reply
15 points

It also didn’t help that Poettering isn’t particularly popular on a personal level. I think there would have been a lot less drama if he had better people skills.

permalink
report
parent
reply
29 points

Yeah, but to be honest, I would have terrible “people skills” too if people sent me death threats over writing a free software.

permalink
report
parent
reply
4 points

Yeah he seems kind of like a weirdo jerk.

permalink
report
parent
reply
11 points

back when you had an init system and you got it just the way you wanted it, you would be pissed that you had to move to systemd

now its there when you install and it is stable so it isn’t a big deal. But old beards hate change.

permalink
report
parent
reply
5 points

Old beards built linux and everything around, have some respect.

permalink
report
parent
reply
-3 points

It used to be a mess, but that’s solved.

Do you mean the past tense of the verb solve or the systemd service that solves mathematical equations? Because solveds code is still a mess. It used to too, but it still is.

permalink
report
parent
reply
3 points

🤓

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply
2 points

The principle of “do one thing and do it well” still applies to SystemD as it builds into many different applications which each do one thing only. The problem is that you require most of them to have a fully functioning unit system which makes it function more like 1 big product rather than many smaller ones as it actually is.

A lot of the hate I feel started with Pottering which extended to SystemD. And while it certainly had downsides it had less than the other i it Systems which is also why It has become the new norm.

permalink
report
parent
reply
23 points

No one knows to this day

permalink
report
parent
reply
6 points

There is a fork of Debian without SystemD. https://www.devuan.org/

permalink
report
parent
reply
23 points

Poettering works for MS now? That’s the best news I’ve heard in a long time.

permalink
report
reply
13 points

Embrace, Extend, Extinguish.

You are at the second step.

permalink
report
parent
reply
7 points

This sounds a bit ridiculous. If Linus started working at MS I wonder if people would suddenly think Linux was a MS project and start hating on it.

permalink
report
parent
reply
7 points

people keep saying this, but what is their extinguish plan? how could they realistically extinguish linux? it’s not a company they can buy, or even a single thing they can ruin.

permalink
report
parent
reply
4 points
*

If you know the history of Linux, plenty of people almost did. Microsoft has especially tried. Usually through software patents, FUD, and suing the shit out of everybody. If everyone had to rip SystemD out of their systems tomorrow, would it kill Linux? Nah, probably not. But it would be enough to keep those with large pockets from ever picking it over Microsoft’s offerings.

They’ve effectively kept Linux out of their domain for a very long time now.

permalink
report
parent
reply
37 points

To me systemd is fine, I am not really emotional at init systems. But on the other hand Linux is about choice and systemd kills that in some way because it does so much more than just starting services. GNOME is unusable without systemd, which makes it a no choice if you go into another rabbit hole. It’s kinda weird how deeply systemd is integrated in Linux these days. What I really dislike is that the log is in binary format by default which makes it necessary to deal with another tool to read logs. But well software changes, so do tools. But honestly the devs acted like dick heads sometimes, so I think most of the antipathy comes from their behavior and well yes MS now kinda pushing systemd because poettering works for them. I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated. Maybe copilot for writing systemd unit files would be nice though :P

permalink
report
reply
19 points

Systemd is very customizable and flexible. I also fine it is faster than anything else. You can also choose what systemd services to use and what not to use

permalink
report
parent
reply
42 points

GNOME is unusable without systemd

It is also unusable with systemd.

This comment was presented by the KDE gang.

permalink
report
parent
reply
12 points

well yes MS now kinda pushing systemd because poettering works for them. I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated.

How has MS pushed systemd?

permalink
report
parent
reply
11 points

That’s a nonsense spin of things. There wasn’t/isn’t a need for Microsoft to push systemd, because it had been adopted by all major linux distributions before Poettering even made the switch. It’s a straw that init system luddites clutch at.

permalink
report
parent
reply
9 points

I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated.

What the hell? Code isn’t unpatchable, and neither is Microsoft the super evil villain trying to ruin the lives of Linux users that childishly.

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply
23 points

You know, it’s funny. I don’t actually have much of a strong opinion on The Unix Way or Lennart Poettering, and I’m not super fond of Red Hat, but it’s not like I’m going to avoid everything they’re involved in the maintenance of and still use Linux.

I do like alternatives though, so I’ve been trying out OpenRC recently, and I gotta say I really like it. Of course there’s a little bit of a learning curve, but honestly it’s just simple and fast and stays out of the way, and it’s nice to just open logs in any text editor I like. Systemd can do all kinds of crazy things, and if you need any of them then there’s no reason not to use it, but I don’t, and it’s just kinda pleasant to have something nice and straightforward that I actually kinda understand instead.

permalink
report
reply

linuxmemes

!linuxmemes@lemmy.world

Create post

I use Arch btw


Sister communities:
Community rules
  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

Community stats

  • 7.6K

    Monthly active users

  • 1.2K

    Posts

  • 68K

    Comments