Translations:Comparison of init systems/3/en

From Gentoo Wiki
Jump to:navigation Jump to:search
Feature Init system
sysvinit OpenRC upstart systemd SMF launchd Epoch finit runit s6 + s6-rc BSD rc.d
Supported in Gentoo partially (used by OpenRC) Yes (default init) No Yes No No Yes No Yes No No
Package / Bug# sys-apps/sysvinit sys-apps/openrc bug #498376
sys-apps/upstart in unity-gentoo overlay.
sys-apps/systemd - - sys-apps/epoch - sys-process/runit sys-apps/s6 + sys-apps/s6-rc -
Supported platforms Linux / BSD Linux + BSD Linux Linux Solaris MacOSX Linux Linux Linux / BSD / MacOSX Linux / BSD / MacOSX BSD
Main coding language C POSIX shell (+ C) C C C C C C C C POSIX shell (+ C)
Main dependencies - init (sysv or BSD) D-Bus D-Bus init(sysv?) - libc, /bin/sh ? - skalibs, execline rcorder
Init script/service format single config file shell scripts config files + shell fragments config files (ini) XML (+ shell scripts) plist multiple or single .conf multiple or single .conf shell scripts execline or shell scripts shell scripts
Per-service configuration No Yes (conf.d) With in-job mechanisms (normal exit, respawn) Yes Yes (service instances) ? Yes (v1.1+) ? No No No
Running as a daemon Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (invoked) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (sys-apps/s6-linux-init) Yes (PID 1)
Cross-service dependencies/events No Yes Yes Yes Yes No Yes (basic support, v1.3+) ? Yes Yes Yes
Parallel service startup Yes Yes (optional) Yes Yes Yes Yes No Yes Yes Yes Yes
Keeping daemons alive Yes Yes (optional v0.21+ via supervise-daemon) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Preferred service file supplier n/a Gentoo Ubuntu upstream Solaris MacOSX n/a n/a Void Linux n/a NetBSD, FreeBSD, OpenBSD
License GPL v2+ 2-cl. BSD GPL v2 LGPL v2.1+ ? Apache License 2.0 Unlicense MIT BSD ISC BSD