this post was submitted on 04 Oct 2023
727 points (95.3% liked)

linuxmemes

20703 readers
1890 users here now

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!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 11 months ago (4 children)

I'd argue systemd has bad, borderline incorrect design. I didn't like SysV because it caused inconsistencies and hard to understand processes. systemd fixed the inconsistencies but the rest is sort of hacked together bullshit that developers play wackamole with. That hackery is the reason it can't be used in Docker for example. It has a complicated parser for a language that's basically a DSL that doesn't really solve the problem of complexity for the user. It requires a whole slew of random non-sense to work and it feels like stars have to align perfectly for things to function. It encourages bad behavior like making everything socket activated for literally no reason.

Compared to SysV, I'll take systemd. I don't find it ideal at all though. It's serviceable... much like how Windows services are serviceable. S6 is I think what the ideal init would look like. I'm more impressed with it's execline and utilities suite but that's another story.

The only thing I think systemd did right is handling cgroups.

[–] [email protected] 13 points 11 months ago (1 children)

Struggling to think of what purpose systemd would serve in docker..

[–] [email protected] 8 points 11 months ago

Some docker containers come with systemd. Of note, the RedHat ubi8-init and ubi9-init containers. Not that they're wonderful and perfectly open, but that it is possible and available.

[–] [email protected] 3 points 11 months ago

OpenRC handles cgroups too AFAIK

[–] [email protected] 0 points 11 months ago (1 children)

If you think you need systemd in a container, then you don't understand containers

[–] [email protected] 2 points 11 months ago (1 children)
[–] [email protected] 0 points 11 months ago

Container is not a VM