Re: What's the difference between s6 and s6-rc?
On Thu, 25 Feb 2016 19:26:11 +0100 Laurent Bercotwrote: > Do you think a glossary page would help? Yes yes yes yes YES!!! SteveT Steve Litt February 2016 featured book: The Key to Everyday Excellence http://www.troubleshooters.com/key
Re: What's the difference between s6 and s6-rc?
On Thu, 25 Feb 2016 16:02:11 +0100 Laurent Bercotwrote: > On 25/02/2016 15:47, Steve Litt wrote: > > Could somebody, in one or two sentences, tell me the difference > > between s6 vs s6-init? > > I'm not looking for references to big old documents: I'm looking for > > one or two sentences telling me the difference. > > Still, big old documents have all the information you need, and > more: the first lines of http://skarnet.org/software/s6-rc/why.html > would answer your question. > > s6 is a process supervisor. It manages daemons. > s6-rc is a service manager. It manages the global state of a > machine: what service is up, what service is down, with dependencies > between services, and "services" being implemented by either a daemon > or a one-shot script. > > s6-rc is a management layer running *on top of* s6. It uses the s6 > infrastructure to do its job, but this job is not the same at all. :-) Expecting responses like the preceding, I specified 1 or 2 sentences. Luckily, Jan Bramcamp answered my questions in 2 sentences, and then went on to give even more details, so I now feel confident in understanding the difference between the two. Understanding http://skarnet.org/software/s6-rc/why.html depends on understanding the exact meanings of "supervision suite" and "service manager", two phrases sounding confusingly similar to me (and I doubt I'm the only one). Also confusing is sometimes use of "supervision tree", which I assume is a synonym for "supervision suite." And then in your email reply (above), you refer to "process supervisor", which I assume is yet another synonym for "supervision suite." I wouldn't have understood http://skarnet.org/software/s6-rc/why.html before reading Jan's 2 sentence explanation (with additions). Now I do. I'll write more about this in a separate email... Thanks, SteveT Steve Litt February 2016 featured book: The Key to Everyday Excellence http://www.troubleshooters.com/key
Re: What's the difference between s6 and s6-rc?
On 25/02/16 15:47, Steve Litt wrote: Hi all, Could somebody, in one or two sentences, tell me the difference between s6 vs s6-init? For the subject i infer that you're asking for the difference between s6 and s6-rc because there is no project or binary named s6-init. I'm not looking for references to big old documents: I'm looking for one or two sentences telling me the difference. s6 is a collection of tools. Together these tools implement service supervision. One of those tools is s6-svscan. It scans a service directory and starts one s6-supervise process per service. It can also serve as pid 1 (aka init) of a unix system. While s6 is a good service supervisor on its own it lacks service management. s6 can only track running processes and offers no ordering between them. You can block in a ./run script until all your dependencies are fulfilled or just exit and retry until it works. Writing this logic in every ./run script is a burden on the user but manageable. On its own s6 can't track state not represented by a running process e.g. a mounted file system. This forces a system booting with just s6 to run a (possibly very small) script before s6-svscan can take over. Dependencies can only be modeled between running processes. This is good enough for small embedded devices or (most) systems run by a very experienced user willing to tinker with his boot process. s6-rc builds on top of s6 to provide support for state tracking and changing on top of s6. It does this in a surprisingly safe, clean and simple way. This in turn makes it hard to understand because s6-rc is just an empty hull. You still have to write your own start code fitting into its structure. The s6 linux init repo contains an example of how it could look like.