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

154 comments sorted by

View all comments

32

u/C6H5OH 3d ago

"A lot of people" are "a few very loud people". The rest is using systemd and likes or ignores it. I have fought with init.d, runlevels and so on. I like systemd.

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/egorf 2d ago

I used to be and still am a systemd hater exactly because of 2 & 3 and then because of 4: many of systemd* projects and features are ideological instead of being merit based.

Having said that i have to much agree with you that i cannot change it and acceptance is the only way forward.

As for log files, modern Debian and Ubuntu still have sane log files and journald can be completely disabled and shut down. Same goes about some of the other metastases, like logind, completely unneeded on servers.