forked from synit/synit
68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
|
---
|
||
|
title: "Notes on Laurent Bercot's talk at FOSDEM 2017"
|
||
|
---
|
||
|
|
||
|
Talk more about s6 and init than s6 and supervision.
|
||
|
|
||
|
We can get to 100% satisfaction with an init system. Lots of people
|
||
|
are still unhappy with their init system though.
|
||
|
|
||
|
This talk is about design of an init system.
|
||
|
|
||
|
4 elements:
|
||
|
|
||
|
- /sbin/init (the startup scripts/programs/processes)
|
||
|
- PID 1
|
||
|
- process supervision
|
||
|
- service management
|
||
|
|
||
|
These 4 elements don't have to be in the same process.
|
||
|
|
||
|
02:55
|
||
|
|
||
|
Process supervision: supervision tree, rooted at pid1.
|
||
|
|
||
|
"Supervision only applies to daemons" - huh, interesting
|
||
|
|
||
|
Service management: bring services up/down; More generally, change
|
||
|
from one state to another.
|
||
|
|
||
|
Services: oneshots (short-lived, with side-effects) or longruns
|
||
|
(daemons). Have dependencies (enforced by service manager).
|
||
|
|
||
|
- Ah, a oneshot might be a traditional-init-like "run a program to
|
||
|
set things up" so that the service is "running" even though there's
|
||
|
no particular process you can point to that *is* the service?
|
||
|
|
||
|
- 10:30 - Void Linux has only longruns (?) and so "hacks",
|
||
|
"longruns that do nothing" are used to emulate oneshots
|
||
|
|
||
|
05:40
|
||
|
|
||
|
Ah this is an interesting perspective. Bercot classifies various
|
||
|
systems in terms of the 4 elements:
|
||
|
|
||
|
/sbin/init pid1 supervision svcmgr
|
||
|
Integrated init systems
|
||
|
(systemd, launchd, upstart) ✓ ✓ ✓ ✓
|
||
|
|
||
|
sysvinit, BSD init ✓ ✓ ✓
|
||
|
- sysv-rc, /etc/rc ✓
|
||
|
|
||
|
OpenRC ✓
|
||
|
|
||
|
08:10
|
||
|
|
||
|
Daemontools family - daemontools (1998!), daemontools-encore, runit,
|
||
|
perp, s6 - supervision suites; nosh - suite of tools similar to s6
|
||
|
|
||
|
09:55
|
||
|
|
||
|
Supervision suites are not enough - only 1/4 of an init system.
|
||
|
|
||
|
11:40
|
||
|
|
||
|
s6: technical aspects
|
||
|
|
||
|
"reproducible launch environment" even for oneshots
|