Artix Linux Forum

General Category => Discussion about Artix => Topic started by: sticksix on 06 May 2020, 19:54:44

Title: Which Do You Prefer - OpenRC, s6, or runit??
Post by: sticksix on 06 May 2020, 19:54:44
Debating which to install..  Just wondering what your experiences are or whether anyone has any comparisons or preferences for OpenRC vs runit vs s6.. Think I may go with OpenRc first.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: xyxy on 06 May 2020, 21:37:27
I started with runit which was good. Only thing I didn't like were the messages written on the screen while booting.
That was a bit disturbing when using no desktop/login manager. When you want to type your password and something writes at the same time into the text. So I decided to try OpenRC.

OpenRC is a bit different in it's commands etc.. but until now, everything seems good.

S6 is new to me - can't say anything about it.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: picokan on 06 May 2020, 22:12:48
Unless you're going to be doing under the hood tinkering, the biggest difference between each as an end user is the commands you'll use when you install it and the boot screen. So just pick one. (this also mostly applies to current day systemd but you didn't hear that from me)
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: sticksix on 06 May 2020, 23:12:43
thanks for the replies guys. s6 on Obarun is pretty slick I must say. I'll just pick one and give it a spin. Thanks
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: artik on 15 May 2020, 08:37:21
Openrc. Since I was a gentoo user and used to openRc
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: ndowens on 15 May 2020, 10:40:45
I myself decided to use s6 because no other distro I tried offered it; writing scripts for it is fairly simple on general as well as runit is as well to write for
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: Everyone on 02 June 2020, 09:50:05
From my experience:
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: artoo on 02 June 2020, 13:05:31
From my experience:
  • OpenRC works great on a desktop system where no service/deamon monitoring is needed (no support for restarting crashed programs out of the box).
  • Runit is better suited for running for servers/power users.
  • Never came in contact with S6, can't say.


Just for sake of completeness, openrc supports service supervision too. Openrc can be configured to use the builtin openrc supervisor, or in theory use runit or s6 supervision.

Details here: https://github.com/OpenRC/openrc/blob/master/supervise-daemon-guide.md
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: jp on 05 June 2020, 14:36:17
all three are easy to use. On the artix wiki there are explanations on how to make all 3 work. I have already tried all 3 and if you have problems with one of them you can always check my experience on the french forum.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: linuxer on 06 June 2020, 12:00:51
Debating which to install..  Just wondering what your experiences are or whether anyone has any comparisons or preferences for OpenRC vs runit vs s6.. Think I may go with OpenRc first.

Actually, you may use any, according to your preferences, after reading and comparing the following, imho:

https://wiki.artixlinux.org/Main/OpenRC
https://wiki.artixlinux.org/Main/Runit
https://wiki.artixlinux.org/Main/S6

Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: jp on 06 June 2020, 22:54:34
Thank you I have 3 pc's and I'm currently using all 3.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: brandflake11 on 09 June 2020, 01:34:08
I did the full switch from running Arch (for a little more than a year) to Artix with runit and things have been working very well. I don't know a whole lot about the inner workings of OpenRC or s6, but I like how simple runit makes things. I love just being able to go to two different folders to find available services and running/enabled services. The ln -s thing to enable services is very cool too! It feels pretty old-skool, I like that!  :D

Also just a cool note, my boot times have been significantly shortened with runit! It is very fast now, compared to what it was with systemd!
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: jp on 09 June 2020, 18:07:10
It's hard for me to make a choice. I'll try. S6 there is no easy explanation except the Artix wiki. My preference goes to OpenRC and Runit and the choice between the two is difficult. I've seen videos where people prefer Runit for the simplicity of these commands and in the end I think I prefer Runit too.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: brandflake11 on 10 June 2020, 19:50:42
I think you are doing the right thing by having and using all three of them until one stands out or is more comfortable for you. I think just trying them is the best thing to do for your case.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: Dudemanguy on 10 June 2020, 22:01:11
S6 there is no easy explanation except the Artix wiki.

Glad to hear that the page was helpful. For whatever reason, s6 has not been tried by many distros, so resources on its usage are lacking. The official s6 documentation is very good, but it's probably a bit hard to navigate if you don't have a good conceptual overview of s6/s6-rc/s6-linux-init.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: cli_user on 13 June 2020, 03:38:18
Wikipedia has a good overview and history.  google on "linux init vs runit s6 openrc -systemd" for more comparisons.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: MilkCow on 29 November 2020, 07:50:46
I have tried s6, runit, and openrc.

OpenRC allows you to configure `need`, `want`, `after`, and `before`. Without `want` directive, there is going to be a lot of hassle.
`after` and `before` are not very important. However, OpenRC needs services to go background and produce PID files. This is no good.
OpenRC still retains /etc/inittab which is awful.

runit just hands over the responsibility of dependency management to run script which you write yourself.
So, you can handle `want` directives in run scripts which are just shell scripts.
One problem of runit is that an init service has to constantly check if all dependencies started.
If one of the dependencies permanently failed, the init service would be stuck in a loop.

s6 handles only strict dependencies. With s6, you have to compile database. Compiling database is a nuisance.
OpenRC automatically creates its own database cache. I also don't like the fact that dependencies are a file in s6. Dependencies file and lack of want directive create aggressive conflicts over dependencies among administrators and different init services. Dependencies should be a directory instead. s6 should acquire want directive. Anopa is better than s6, but it is dead.

None is excellent in my experiences. But, I think I am going to try runit again. With runit, it's at least easy to write my own scripts and deploy them.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: mobinmob on 29 November 2020, 15:40:58
s6 handles only strict dependencies. With s6, you have to compile database. Compiling database is a nuisance.
OpenRC automatically creates its own database cache. I also don't like the fact that dependencies are a file in s6. Dependencies file and lack of want directive create aggressive conflicts over dependencies among administrators and different init services. Dependencies should be a directory instead. s6 should acquire want directive. Anopa is better than s6, but it is dead.

Ι am not sure if you are referring to s6-rc (which is what artix uses) or s6 :(
anopa is build on top of s6, it is quite different from s6-rc and seems abandoned. Some of the missing functionality of s6-rc (optional dependencies) can be done on top of s6-rc and the same is true for the compiled db creation. Of course optional dependencies (wants) will be enabled when the service is enabled an not on runtime. The above is not theoretical - 66 does them (and more) already.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: MilkCow on 30 November 2020, 02:05:24
Ι am not sure if you are referring to s6-rc (which is what artix uses) or s6 :(
anopa is build on top of s6, it is quite different from s6-rc and seems abandoned. Some of the missing functionality of s6-rc (optional dependencies) can be done on top of s6-rc and the same is true for the compiled db creation. Of course optional dependencies (wants) will be enabled when the service is enabled an not on runtime. The above is not theoretical - 66 does them (and more) already.

I still can't differentiate s6, s6-rc, and s6-linux-init. Is there a way to make 66 work without writing a lot of code on artix linux?
By the way, I don't like the name 66 because it reminds me of 666, a symbol of devil.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: mobinmob on 30 November 2020, 13:49:26
I still can't differentiate s6, s6-rc, and s6-linux-init. Is there a way to make 66 work without writing a lot of code on artix linux?
By the way, I don't like the name 66 because it reminds me of 666, a symbol of devil.


s6 is  process supervision suite. That is a suite of tools that can reliably and cleanly start, stop, monitor and restart long-running programs/services/daemons. It is analogous to runit sans the runit-init part.
s6-rc is a service manager. That is a suite of tools that builds on s6 and adds a lot of features. Artix uses s6-rc+s6-linux-init and refers to the solution as s6.
s6-linux-init is a project that creates the missing pieces to use s6 or s6-rc as full init systems.
66 is a set of programs that make implementation and control of s6/s6-rc services easier and adds some really nice features to them.
It should not be difficult to use 66 on artix - both obarun and artix are based on arch, but it will need some work. Ι am using it on voidlinux :)
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: artoo on 30 November 2020, 17:20:22

By the way, I don't like the name 66


https://www.youtube.com/watch?v=sNjWpZmxDgg

 :o
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: The Dark Side on 14 April 2021, 22:54:20
I prefer runit. Much simpler than the others and faster, at least on my computers. Greetings.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: exxjob on 30 October 2022, 13:09:34
There are daemons on your computer
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: Nadir on 10 April 2023, 07:52:19
About S6

 s6/s6-rc vs systemd, or why you probably do not need systemd
https://forums.gentoo.org/viewtopic-t-1105854.html

I should add one thing: S6 works well within Docker.
it can replace supervisord

S6 Made Easy, with the S6 Overlay | Tutum Blog
https://tutumcloud.wordpress.com/2015/05/20/s6-made-easy-with-the-s6-overlay/
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: devosalain on 15 May 2023, 14:46:24
From my experience:
  • OpenRC works great on a desktop system where no service/deamon monitoring is needed (no support for restarting crashed programs out of the box).
  • Runit is better suited for running for servers/power users.
  • Never came in contact with S6, can't say.
Programs should not crash in the first place (eg pulseaudio :))
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: devosalain on 15 May 2023, 21:13:51
I can work with openrc & sysv-rc but know nothing about s6 or dinit.
Before i install i install artix with s6 or dinit i must understand it.
How do i enable & disable services to be run or not run at boot with s6 or dinit?
What are possible advantages of s6 or dinit ?
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: davmac on 14 June 2023, 04:05:57
I have tried s6, runit, and openrc.
...
None is excellent in my experiences. But, I think I am going to try runit again. With runit, it's at least easy to write my own scripts and deploy them.

I know this post is old, but I just wanted to point out that dinit addresses every negative that you mention:
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: davmac on 16 June 2023, 04:58:20
How do i enable & disable services to be run or not run at boot with s6 or dinit?

https://wiki.artixlinux.org/Main/S6
https://wiki.artixlinux.org/Main/Dinit

For Dinit the "dinitctl enable" and "dinitctl disable" commands can be used to make or prevent a service run at boot. I'm not actually certain what the recommended procedure is for S6-RC.

What are possible advantages of s6 or dinit ?

https://github.com/davmac314/dinit/blob/master/doc/COMPARISON
https://forum.artixlinux.org/index.php/topic,3498.0.html

I'm the author of Dinit so I'm biased. Here's a description of Dinit from Chimera, which compares it to some other systems:

Quote
The dinit project provides the service manager and init system for the OS. It’s a lightweight, dependency-based (unlike e.g. runit), supervising (unlike e.g. sysvinit) and portable (unlike systemd) system with a good balance of features to simplicity and ease of use/deployment (unlike e.g. s6) and Chimera uses it extensively for both system and user services.

It's also got a reputation for being fast (fast boot times). However, I will say that I personally think S6 is also extremely well engineered and solid.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: Hitman on 16 June 2023, 20:49:07
Indeed Dinit is probably the fastest or at least on tie with runit.

For Dinit the "dinitctl enable" and "dinitctl disable" commands can be used to make or prevent a service run at boot.

I switched yesterday to Dinit on my big PC aswell, I had it on testing on the thinkpad for about one year now and been happy with it, so it's an honour and with this occasion I wish to thank you for your work!

I have a question regarding enable/disable and listing of which service is enabled or not: In my utilities script I came up these last few months with a method of going through the dependency chains of the services to see a list of what's enabled, this is meant to complement dinitctl list with a complete overview of sorts:

Code: [Select]
 find /etc/dinit.d/*.d -not -type d -exec grep -E 'waits|depends' {} + | tee >(cut -d= -f2) | cut -d/ -f5 | cut -d: -f1 | sort -u | while read -r s; do echo $s; grep -rlE "waits-for.d.*$s|depends.*$s" /etc/dinit.d | cut -d/ -f4; done | sort -u 

Of course this has a caveat: If I run dinitctl disable on a service which is present in the dependency chain of another, it will continue to show up as enabled (which is correct, the service is still running and will still be brought up on boot), however this method has no way of telling if the service is explicitly disabled on not (with my thought going towards e.g. how OpenRC handles it).

Is there a way to force disable a service without having to manually edit it's parent?
Or, to do away with my above method, something like a tree view of the dependencies, or a dependency view per-service (like dinitctl status xyz lists - Activation: start due to dependent(s) - to list which dependent(s) they actually are)?
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: davmac on 17 June 2023, 04:51:30
I switched yesterday to Dinit on my big PC aswell, I had it on testing on the thinkpad for about one year now and been happy with it, so it's an honour and with this occasion I wish to thank you for your work!

I'm glad to hear that it's working well for you!

Is there a way to force disable a service without having to manually edit it's parent?

There's not, if the parent specifies the dependency via a waits-for line in its service description file.

If the parent has a waits-for.d directory and specifies the dependency via that, you can use dinitctl disable --from (parent) (service)

Also, if the parent (dependent) doesn't really need a service, it can specify "after =" instead of "waits-for =". This has the advantage that you can just use a standard "dinitctl disable"/"enable" without worrying about the other dependent services.

In summary, it's a question of how the services and the dependencies are defined. There are ways of doing this (user "after =" or "waits-for.d =")  so you can more easily enable and disable services, but the Artix services might not be defined optimally for that.

Or, to do away with my above method, something like a tree view of the dependencies, or a dependency view per-service (like dinitctl status xyz lists - Activation: start due to dependent(s) - to list which dependent(s) they actually are)?

Currently there's not - it would be nice, obviously, so perhaps something I can think about (or someone can contribute!). Right now I'm trying to finalise the features I had already set for the beta release which I hope to get out sometime in the next few weeks, so I don't want to add new features into that mix, but once I've got 1.0 out it will be time to think about what features would still be useful.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: Hitman on 17 June 2023, 13:40:57
Got it, appreciate your consideration.
Certainly waiting for the beta versions, I did not even sense that it was in early development at all :)
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: davmac on 18 June 2023, 09:31:15
I did not even sense that it was in early development at all :)

To be clear, every effort is made to ensure quality, stability and reliability even at this stage. But, it's not yet feature complete - and therefore is still "alpha".
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: arch-mage on 18 June 2023, 20:50:12
Runit. I like the daemon symlinking thing.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: replabrobin on 19 June 2023, 14:05:34
I too am a runit fan. It's simple enough that I can understand the whole mechanism. The only thing I dislike is the logging. I try to use syslog as the added complexity of the individual logs is a distraction.

I have played with dinit (using the xfce-dinit iso), but it seemed to be more complicated than I need.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: andyscott on 21 June 2023, 22:35:23
The only thing I dislike is the logging. I try to use syslog as the added complexity of the individual logs is a distraction.

The s6-log utility is one of the reasons I love s6. I don't even have a syslog daemon installed, just logrotate for the daemons that either don't play nice with redirecting stdout or when I don't want everything condensed into one log file.

On the other hand, if dinit already has more features than you need then I doubt s6 will suit you. I'd liken it to learning pacman... most of the time it's easy and you only need "-Syu" but when you have a problem or want to do something more involved it can suddenly feel a little complex.
Title: Re: Which Do You Prefer - OpenRC, s6, or runit??
Post by: jahway603 on 18 December 2023, 06:01:08
OpenRC because I'm very familiar with it. Does anyone have any info on the comparisons between the other init systems?