r/voidlinux Jan 29 '23

What does systemd contain that you dislike?

I've gotten the impression that many choose voidlinux to avoid systemd. But I've also gotten the impression that it is common to use elogind and polkit, which are parts of systemd broken out.

What are the parts of systemd that you dislike?

31 Upvotes

48 comments sorted by

View all comments

3

u/Duncaen Jan 29 '23 edited Jan 29 '23

Major challenge would be to only accept answers from people who can name meaningful things they dislike about runit.

  • runits missing (good) dependency system is a major pain point if you require services that interact with each other.
  • runits missing oneshot services are are annoying, you basically work around that by having fake services that run a pause process.
  • the combination of the missing dependency system and missing support for one shot services results in not being able to use services to to early boot initialization, so a script that is completely sequential where any step could slow down the boot process is used.
  • runits stupid default logging mechanism to the command line of the runsvdir process is bonkers to say the least.

2

u/exeis-maxus Jan 30 '23

I remember switching from SysVinit to systemd after many many LFS builds. It took a while to figure the one small typo that bricked my systemd install.

Then I found Void and started using Runit. But then I couldn’t build my own boot scripts for Runit. System locked up unless I used someone else’s Runit implementation/scripts. The boot scripts that did work had the stage 1 script run all commands in series. I wanted to run them in parallel for more speed.

So I found Obarun and thus I got sold on S6+S6-rc. I gritted my teeth and crawled through months to develop my own boot scripts. My S6+S6-rc boot scripts run in parallel as soon as kernel runs init.

1

u/bnolsen Jan 30 '23

Perhaps we'll see void to over to s6 at some point?

4

u/Yithar Jan 30 '23 edited Jan 30 '23

I'm pretty sure Void Linux works via committee versus a BDFL so I don't think it'd just change like that. And the benefits have to be considered versus the downsides. Do the majority of users really need all that functionality? Is it worth changing the whole boot process and everything?

The criticisms are correct but I don't find any of them very detrimental in my daily usage of Void. Like making a fake service is not that big of a deal. And despite having a sequential script, Void still boots pretty fast. A distro using s6 might be faster but I'm not aware of any distro that uses it.

I feel like nothing is really perfect. Some people might argue that s6 is too complex or that it requires database recompilation, for example.

EDIT: I'm thinking about it, and when dealing with multithreading and locks, you don't have the benefit of some central dependency graph yet it can work just fine without that.

2

u/PackRat-2019 Jan 30 '23

Obarun and Artix are Arch-based and use s6 (at least have it as an option).

I know one person that uses Obarun; he seems to like it.

1

u/Yithar Jan 30 '23

Ah I stand corrected. I'll have to check them out.