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