Comparison of init systems

This article [[Article description::compares and contrasts init systems.]] Some of the init systems compared below are available for Gentoo, while others (like launchd and SMF) are not.

Available software

Feature Init system
sysvinit OpenRC upstart systemd SMF launchd Epoch finit runit BSD rc.d
Supported in Gentoopartially (used by OpenRC) Yes (default init) No Yes No No Yes No Yes No
Package / Bug#sys-apps/sysvinitsys-apps/openrcbug #498376
sys-apps/upstart in unity-gentoo overlay.
sys-apps/systemd--sys-apps/epoch-sys-process/runit-
Supported platformsLinux / BSDLinux + BSDLinuxLinuxSolarisMacOSXLinuxLinuxLinux / BSD / MacOSXBSD
Main coding languageCPOSIX shell (+ C)CCCCCCCPOSIX shell (+ C)
Main dependencies-init (sysv or BSD)D-BusD-Businit(sysv?)-libc, /bin/sh?-rcorder
Init script/service formatsingle config fileshell scriptsconfig files + shell fragmentsconfig files (ini)XML (+ shell scripts)plistmultiple or single .confmultiple or single .confshell scriptsshell scripts
Per-service configuration No Yes (conf.d) With in-job mechanisms (normal exit, respawn) Yes Yes (service instances)? Yes (v1.1+)? 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 (PID 1)
Cross-service dependencies/events No Yes Yes Yes Yes No Yes (basic support, v1.3+)? Yes Yes
Parallel service startup Yes Yes (optional) Yes Yes Yes Yes No Yes Yes Yes
Keeping daemons alive Yes Yes (optional v0.21+ via supervise-daemon) Yes Yes Yes Yes Yes Yes Yes Yes
Preferred service file suppliern/aGentooUbuntuupstreamSolarisMacOSXn/an/aVoid LinuxNetBSD, FreeBSD, OpenBSD
LicenseGPL v2+2-cl. BSDGPL v2LGPL v2.1+?Apache License 2.0UnlicenseMITBSDBSD

Supported services (in Gentoo)

Feature OpenRC systemd
Filesystem mountingOne script per group (root, local, network, swap...).Two units per mountpoint (fsck + mount), runtime-generated with dependencies.
getty (terminal prompts)Started through /etc/inittab or via agetty scriptOne unit per console, instantiated from template on-demand.
Networking setupSeveral options[1] like dhcpcd[2][3], netifrc[4], iwd [5], or NetworkManager.[6][7]External (NetworkManager, networkd, DHCP daemons).
X11 Display Manager setupSingle service for all (required to auto-restart).Separate DM units.

See also

External resources

References

This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.