this post was submitted on 04 Oct 2023
727 points (95.3% liked)
linuxmemes
20880 readers
8 users here now
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- 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
view the rest of the comments
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.
Struggling to think of what purpose systemd would serve in docker..
https://github.com/just-containers/s6-overlay#the-docker-way
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.
OpenRC handles cgroups too AFAIK
If you think you need systemd in a container, then you don't understand containers
Container is not a chroot
Container is not a VM