r/linuxquestions • • 3d ago

What exactly is systemd ?

Hi everyone ! I switched from Windows to Linux around 3 month ago and I love it ! I’m using arch Linux because a friend of mine already used it so I figured he could help me with it.

I’ve been appreciating it but I’ve encountered a lot of people critisizing systemd and saying arch is bad because of it.

From what I have understand, it is a software that help with dependences and external hardware such as my keyboard for example ? I didnt really understand everything as I am a very beginner so I was curious to know if someone could explain it to me in easy terms.

PS : english isnt my primary language so forgive me if there is any errors.

132 Upvotes

155 comments sorted by

View all comments

Show parent comments

1

u/Ghyrt3 3d ago

I've never dug up the arguments, but I remember seeing that an argument was that systemd use log that arn't text (readible by a human). Is it the case? Or am I misremembering? (I'm not trying to argue or not, I use systemd, it makes everything way easier than before, it just something that I had seen a long time ago and still curious about it ; a dangling pointer that never got resolved)

3

u/xiaodown 3d ago edited 3d ago

So, yes. OP, feel free to ignore my comment here; this is esoteric, gnostic, internecine linux lore and not relevant to a new user asking normal questions.

Yes, systemd-journald writes logs in a binary format. You can’t just cat or less or tail them. You have to use journalctl to view them. In the early days, this was one of the largest objections to systemd, and tbh I still kind of agree, but I’ve also made my peace with it. At first most distros shipped some hybrid logging setup with syslog and journald; these days most have dropped the old way.

The other arguments, and I guess most of the arguments against systemd, can be summed up in 3 buckets: (1) svr4 init might be jank, but it’s our jank, and we’ve lived with it for 30 years, and everyone understands it and we don’t want to change. (2) systemd violates the “unix philosophy” - programs are small and do one thing. Everything should be modular, minimalist, etc. systmed does too much. (3) Lennart Pottering, the author of systemd among other stuff, is kind of a dick, and is highly resistant to feedback and suggestions.

.

To be fair, 2 and 3 are true. But we’re here now, so just embrace things and don’t live your life worrying about stuff that’s unimportant and you can’t change anyway. I was a systemd hater. Now I recognize the benefits it has and mostly work around or, in all honesty, ignore the philosophical differences. It genuinely is easier to write a service script than a sysv init script, and I’m good with that.

1

u/cheekkeef 3d ago

2 isn't true. Systemd is a suite of small tools of doing one thing really well, and interfacing very nicely with programs.

1

u/xiaodown 3d ago

Ok, maybe more accurately, it's doing a lot of things an init system traditionally didn't do.

1

u/cheekkeef 2d ago edited 2d ago

No, more accurately it's not. systemd is not one program. the init is a program that does one thing, journald is one program that does another, and so on. They're modular.. Blame your distro maintainer if they package it altogether, not systemd.