Skip to main content
Topic: Question: Init system comparison (NO A>B or B<A nonsense) (Read 1612 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Question: Init system comparison (NO A>B or B<A nonsense)

This, I believe, would be a difficult question to answer.   I hope I went through the Artix wiki and the forums thoroughly enough but found nothing satisfactory,  Now, I happen to use runit and today the question, on how exactly they differ, popped up.  Most important would be via what mechanism do they start everything up (the major question) but it would be interesting to know how they compare in the categories of:  minimalism, modularity and extensibility?  Lol, I guess my secondary question is how well do they adhere to the so-called Unix philosophy?

I'm still new here btw.  So if I made a blunder I hope you veterans get a good laugh at it and I'll learn something! ^^
Edit: yes, I notice the error in the title :P However, I am a mathematical logician by trade that rule is still "valiid" in the common sense because A and B are arbitrary init systems XD



Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #2
It's something that would warrant a wiki entry. We've actually discussed doing this before internally but unfortunately no one has gotten around to writing such a document yet. It's on the todo list though.

Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #3
It's something that would warrant a wiki entry. We've actually discussed doing this before internally but unfortunately no one has gotten around to writing such a document yet. It's on the todo list though.
To do such a thing one would need to understand all the inits.

Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #4
They can be used in amazingly different ways - for example pcLinuxos uses sysvinit but like RedHat used it, which is very different to  the Debian based use. For Runit the guides on the Runit site may not be used. The notions of which is faster are dependent on script contents. The defaults can be changed. Although you could look at general operation and available features the Artix packages are just one approach. You read things saying X can't do X but then someone adds some neat config and it can.



Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #7
Would I be correct to assume that runit started in the Void Llinux project?  I unfortunately do not know the history that well.  Could be a fun project documenting the history of Unix-like operatings systems, their component parts and certainly their communities!  I belong to the Vim cult for example XD  I'd never hate on Emacs though, cause I know squat about it other than it having an org mode and that I find info pages harder to nagivate than man pages (for this reason I expect).

We would want our future counterparts got where they are, wouldn't you agree?

P.S. seriously, I suck at using the info pages and a lot of the time they pute extra stuff there that's not in the man page.....

Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #8
Quote
Would I be correct to assume that runit started in the Void Linux project?
No, Juan RP was originally a BSD developer. Runit is BSD licensed so was used in some BSD variants. Void was intended to be BSD with a Linux kernel, a kind of intermediate between the two, to give BSD users a familiar environment with the extra features and hardware support of Linux, and perhaps encourage more people to give BSD a try.  XBPS is quite like Pacman, but Pacman was originally inspired by the BSD port system so that isn't surprising. Runit was written by S Marden, I don't know what motivated this or where it was first used.

Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #9
Runit was written by S Marden, I don't know what motivated this or where it was first used.

Heh...  Based on the source code and licensing, the claims are that one Gerrit Pape did the work.  It was a kind of re-implementation of Bernstien's daemontools project and uses things like DJB's libtai internally as part of it's code.  It looks like, from the history of the Internet, it was Gerrit's baby and it was intended to be used in as many places as was possible including AIX and Solaris.  It was kind of available as a solution for Debian and *BSD in the murky past there.  I'm...uncertain...about the history there with Void or the hows and whys there for them on that.  I guess I can ask the coworker that's part of that Void community what he knows about it.

 

Re: Question: Init system comparison (NO A>B or B<A nonsense)

Reply #10
They can be used in amazingly different ways - for example pcLinuxos uses sysvinit but like RedHat used it, which is very different to  the Debian based use. For Runit the guides on the Runit site may not be used. The notions of which is faster are dependent on script contents. The defaults can be changed. Although you could look at general operation and available features the Artix packages are just one approach. You read things saying X can't do X but then someone adds some neat config and it can.

Precisely.  In general use, though, I've found that unless you're doing something, "fancy," with the run file scripting, it's almost always a single exec line running the service in the foreground so that runsv can effectively background it for you and keep the supervision scope in hand so you can start/stop/restart/etc. the service in question.  So, while it's not wholly accurate, he wasn't fibbing by a lot all the same in his comparisons there.  I chalk it up to enthusiasm for it more than anything.  It's why I note when according  that I maintain a fork of runit.

A good example of the "neat config" story in the case of runit, for example, would be out of meta-runit's little runit-service-groups.bbclass which allows you to group blocks of other services to launch as a group and in a given order, simply specified as group 1, 2, 3, etc. to 999.  Within the lex order, the blocks launch- and you specify what services belong in what subset of the groupings and then the .bbclass adds into the packaging a down file for the service (it's part of a group and therefore starts when our service group psuedo service starts...and stops the same way.)  This is followed by adding it to the config of a virtualized service entry that handles launch and shutdown of the group as a whole.   I need to work a bit on an answer for signals to the group so you can issue USR1's etc. to the members as a whole- but it's all a bolt-on that takes little to no overhead atop the original design and doesn't make it cumbersome, etc.  The same can be said of a LOT of these answers.

What makes the three that Artix supports special is that they're all largely modular and extensible in suprising ways.