<p dir="ltr">Thanks for the info on alternate init tools. I've never used any of them other than busybox in special cases. Kind of shows I tend to stick with large, server-style distros, huh?</p>
<p dir="ltr">I have some SoC devices aroynd. Hopefully I will make use of tiny distros in the near future.</p>
<div class="gmail_quote">On Sep 8, 2015 8:20 PM, "Steve Litt" <<a href="mailto:slitt@troubleshooters.com">slitt@troubleshooters.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, 7 Sep 2015 14:59:08 -0400<br>
Jim Kinney <<a href="mailto:jim.kinney@gmail.com">jim.kinney@gmail.com</a>> wrote:<br>
<br>
> On Sep 7, 2015 1:43 PM, "Steve Litt" <<a href="mailto:slitt@troubleshooters.com">slitt@troubleshooters.com</a>><br>
> wrote:<br>
><br>
> > On Mon, 07 Sep 2015 11:21:24 -0400<br>
> > Jim Kinney <<a href="mailto:jim.kinney@gmail.com">jim.kinney@gmail.com</a>> wrote:<br>
> ><br>
> > > <a href="http://ale.org/?p=632" rel="noreferrer" target="_blank">http://ale.org/?p=632</a><br>
> > ><br>
> > > The slides are now added to the bottom of the announcement page.<br>
> ><br>
> > Hi Jim,<br>
> ><br>
> > I think for your next presentation, you should either get rid of all<br>
> > comparisons to sysvinit and Upstart, or include comparisons to<br>
> > runit, OpenRC, Epoch, Suckless Init plus s6 plus LittKit, Suckless<br>
> > Init plus daemontools-encore plus LittKit, and the soon to be<br>
> > published s6-rc.<br>
> ><br>
> > If your presentation is simply "how to use systemd", you need no<br>
> > comparisons. If your presentation includes "why systemd is better",<br>
> > it would be misleading not to include the many excellent init<br>
> > systems available.<br>
<br>
> I am unfamiliar with those. Do they all start Linux?<br>
><br>
> My goal was more to show what systemd does different from prior Linux<br>
> startups for the major distros.<br>
<br>
Hi Jim,<br>
<br>
Fair enough. Still, your comparison to only upstart and sysvinit could<br>
be misconstrued to mean it's the best init system. In fact, I'm<br>
pretty sure the systemd industry and fans will quote your<br>
presentation as proof of systemd being the best init.<br>
<br>
Here are some of the many good inits:<br>
<br>
* runit: Serves as both PID1 and typical daemontools-style service<br>
 manager.<br>
<br>
* s6: Very advanced daemontools-style service manager. Requires some<br>
 other PID1. Sysvinit will fill that bill (without any of the init<br>
 scripts: Just one line in /etc/inittab). Personally, I used<br>
 Suckless-Init to implement PID1, and LittKit to provide<br>
 deterministic startup order of services.<br>
<br>
* s6-rc: This is coming out this month: I haven't used it. From what I<br>
 understand, this has raised the bar by combining a top quality PID1<br>
 with the s6 service manager.<br>
<br>
* nosh: Another PID1 plus daemontools-style service manager. Its<br>
 runscripts require a special language, I was unable to compile it<br>
 eight months ago. Judging from the many things I've heard its author<br>
 saying, this should be an excellent init if you can get it running.<br>
<br>
* Epoch: Trivially easy init system with declarative config file<br>
 instead of init scripts, run scripts, or unit files. If I need to<br>
 alt-init a computer in two hours, I'll be using Epoch.<br>
<br>
* OpenRC: A sort of advanced version of what sysvinit should have been.<br>
 I've used it a couple times. I understand it has the ability to do<br>
 all the same stuff as systemd achieves with its socket-activation. Is<br>
 not capable of automatically rerunning crashed services.<br>
<br>
* RichFelker + LittKit + daemontools-encore: If you want the simplest<br>
 possible init: One that absolutely anybody can understand and<br>
 troubleshoot, this is it. Includes a 16 lines-of-C PID1. You can<br>
 replace RichFelker with Suckless-Init if you want your PID1 to listen<br>
 for SIGCHLD, SIGINT and SIGUSR1 and do the right thing, substitute<br>
 the 83 lines-of-C Suckless Init. You'll need to write your own<br>
 shutdown script, which isn't particularly difficult. If you want to<br>
 know what RichFelker PID1 is, see the bottom of this page:<br>
 <a href="http://ewontfix.com/14/" rel="noreferrer" target="_blank">http://ewontfix.com/14/</a><br>
<br>
* Busybox Init: I know little about it.<br>
<br>
<br>
USE CASES:<br>
<br>
The main use for OpenRC, IMHO, is when your distro already comes with<br>
it. Gentoo, Funtoo, Manjaro OpenRC.<br>
<br>
Runit and Epoch are high quality, small footprint inits easily<br>
installed on any Linux not tied down with a bunch of systemd-isms. Both<br>
are easy to install, easy to configure, both can rerun crashed<br>
processes (Epoch gives you more choice in the matter). Unless a 1<br>
second bootup is vital to you, I can't forsee a use case not conducive<br>
to Runit and Epoch. Servers, desktops, it's all good. Runit also works<br>
with BSD.<br>
<br>
S6 is a top notch service manager that can be combined with a separate<br>
PID1 (sysvinit, Suckless-Init, systemd) to init almost any use case.<br>
Its claim to fame is reliability: You just can't kill it. With the soon<br>
to come s6-rc, it will be a complete init system of the highest quality.<br>
<br>
(RichFelker|Suckless-Init) + LittKit + any daemontools-style service<br>
manager is best when your top priority is academic simplicity.<br>
Conforms to <a href="http://ewontfix.com/14/" rel="noreferrer" target="_blank">http://ewontfix.com/14/</a>. It can be used to alt-init pretty<br>
much any Linux OS not glued down with systemd-isms, and it will do a<br>
good job as such. In reality, these kinds of inits serve more as<br>
demonstrations: For a production machine you'd probably use runit or<br>
s6-rc instead.<br>
<br>
Busybox Init is used when the priority is tiny and simple.<br>
<br>
SteveT<br>
<br>
Steve Litt<br>
August 2015 featured book: Troubleshooting: Just the Facts<br>
<a href="http://www.troubleshooters.com/tjust" rel="noreferrer" target="_blank">http://www.troubleshooters.com/tjust</a><br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</blockquote></div>