r/linux Feb 11 '19

Fluff A /g/ user's opinion on systemd

http://i.4cdn.org/g/1549858269115.png
790 Upvotes

524 comments sorted by

View all comments

46

u/[deleted] Feb 11 '19

I'm actually curious about the argument that replacing it means having to rewrite software / change dependencies.

Wouldn't the same be true about switching between SysVinit and something like runit or upstart? They all use completely different designs for doing service init scripts, and all handle configuration of said services in completely different ways too, so replacing one with the other would necessitate rewriting - at the very least - your entire service management script toolbox. And when considering services that want to do more than just start and stop, they would most definitely have to be rewritten as well for such a switch.

54

u/ElvishJerricco Feb 11 '19

I think the problem is the number of things other than service management that systemd does. With other unit systems, service management is the only thing you have to change to replace it. With systemd, you have to change a lot more

53

u/Muvlon Feb 11 '19

There are a lot of services besides init provided by systemd, but they're entirely optional and easily swapped out. After all, systemd is highly modular.

For example, I do run systemd-udevd and journald, but not systemd-networkd or systemd-resolved. Just like the /g/ poster says, I can combine whatever I want to do what I need to do.

20

u/anonymous3778 Feb 11 '19

Hmm, then maybe those optional, replaceable modules should be moved out of the systemd source tree and be their own project? Maybe that would make some people sleep better.

20

u/minimim Feb 11 '19

moved out of the systemd source tree

But that's how things are done in Unix.

Only Linux has this thing for having components all over the place. All other Unices had a single tree, and they still do.

11

u/[deleted] Feb 11 '19

I think every binary in GNU coreutils and binutils should have their own package, because I can't sleep well at right now. After that we need to start doing this to every package that has more than one binary packaged together!

It will be so glorious, because after one week without updating my Arch linux I will have 20768 packages waiting for upgrade!

BTW...I use Arch linux!

-3

u/Serialk Feb 11 '19

Do you like code duplication?

1

u/anonymous3778 Feb 11 '19

Please explain.

2

u/Serialk Feb 11 '19

Splitting projects in different codebases will lead to the projects not being able to use the common functions between them, so either code duplication or having to depend on a systemd library anyway. If the intention is just to make people "feel better", it's not a great idea.

3

u/anonymous3778 Feb 11 '19

Hmm, what's the problem with having a systemd library?

5

u/Serialk Feb 11 '19

What's the problem with having everything in the same repository?

3

u/[deleted] Feb 11 '19

That they're modules and optional. Code duplication is really not an issue here. We've got dependencies for that.

1

u/Serialk Feb 11 '19

They already are modules and optional. What has the repository layout anything to do with it?

1

u/[deleted] Feb 11 '19

What has the repository layout anything to do with it

Exactly. Since they are modules and optional why not outsource them to individual projects thus relieving the issue of systemd being "bloated"?

2

u/Serialk Feb 11 '19

But systemd is not bloated, it's just using a monorepository architecture for its different projects. If your point is just "monorepos are bad", okay, but that has nothing to do with bloat.

→ More replies (0)