Alternatives to systemd

From Without Systemd
(Difference between revisions)
Jump to: navigation, search
(Undo revision 2565 by Scorpio (talk))
Line 1: Line 1:
 
''This page describes the various init systems which are available as alternatives to systemd''<br>'''For a more comprehensive explanation of init, and runlevels, see [https://en.wikipedia.org/wiki/Init wikipedia.org Page: Init]'''
 
''This page describes the various init systems which are available as alternatives to systemd''<br>'''For a more comprehensive explanation of init, and runlevels, see [https://en.wikipedia.org/wiki/Init wikipedia.org Page: Init]'''
   
== init + runlevel configuration ==
+
== init + runlevel configuration (integrated management) ==
   
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 105: Line 105:
 
|}
 
|}
   
== [https://en.wikipedia.org/wiki/Operating_system_service_management] ==
+
== [https://en.wikipedia.org/wiki/Operating_system_service_management Service managers] ==
a <b>suite of programs</b> which start and stop services, both long-running daemons and one-time initialization scripts, in the proper order according to a dependency tree
+
service manager: a <b>suite of programs</b> which start and stop services, both long-running daemons and one-time initialization scripts, in the proper order according to a dependency tree
   
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"

Revision as of 22:23, 25 May 2018

This page describes the various init systems which are available as alternatives to systemd
For a more comprehensive explanation of init, and runlevels, see wikipedia.org Page: Init

Contents

init + runlevel configuration (integrated management)

System Description Latest release
dinit init system with process supervision, service dependencies and socket activation written in C++ 2017-03-30
eINIT Can supervise processes and start them asynchronously, possibly without shell scripts 2007-12-18
Epoch Single-threaded init system designed for minimal footprint, compatibility and unified configuration 2015-06-23
finit Fast and extensible init, originally based on EeePC fastinit 2018-01-24
GNU PIES Program Invocation and Execution Supervisor (inittab-compatible with a native rc format as well) 2016-10-01
initng Dependency-based init system with parallelization and asynchronous start 2007-11-11
minit A very small init with process supervision, service dependency ordering and parallel service activation 2005 ?
nosh A suite of system-level utilities for initializing and running a BSD or Linux system (managing daemons / terminals / logging) 2017-12-11
OpenRC Dependency-based parallel-process startup rc system that works with the system-provided init, normally SysVinit.
v0.25 onward includes openrc-init, which can replace /sbin/init (the default OpenRC provider for the init command is SysVinit)
2017-11-30
procd OpenWrt init and process management daemon with ubus integration 2018-02-05
s6 an init + service supervision/management 2017-06-15
System XVI Modular, self-healing, and interface-oriented service manager and init system   This project is defunct 2015-11-07
Upstart Event-based init system which handles start/stop supervision of tasks and services (used in Chrome/Chromium OS) 2014-09-04
uselessd A fork of systemd v208   This project is defunct 2014-11-16

standalone init (separate from configuration/management of runlevels)

System Description Latest release
busybox init BusyBox init 2018-02-15
myinit Simple init with parallel execution and dependencies via reference counting (`start' and `stop' commands) 2011-07-11
ninit See ninit Instructions 2010-01-16
simpleinit-msb A fork of simpleinit (shipped with util-linux until v2.20); currently used in Source Mage GNU/Linux 2007-11-08
sninit Small init implementation with SysV init like (sub)runlevels 2015-12-31
SysV init Feb 2018: v 2.89b release notes / changelog 2018-02-27
ueld Similar to BSD init but more integrated 2017-06-24
uinit Smallest init possible 2017-05-16

Service managers

service manager: a suite of programs which start and stop services, both long-running daemons and one-time initialization scripts, in the proper order according to a dependency tree

Program Description Latest release
daemontools encore an enhanced version of daemontools github repository 2014-04-02
freedt a daemontools reimplementation 2014-09-03
GNU Shepherd service manager written in Guile scheme; used as PID 1 by GuixSD Linux 2016-12-04
god (2) an easily configurable, extensible, monitoring framework written in Ruby 2014-03-06
procer process supervisor developed for mongrel2 2014-03-18
restartd a process-restarting daemon (aka Debian restartd) 2013-01-11
s6-rc service manager for s6-based systems 2018-01-04
Supervisor process control system written in Python 2016-02-06
watchman not-so-simple service manager for Linux 2016-03-31

Other

System Description Latest release
insserv can be used with SysV -based init systems; provides dependency-driven system startup (dependencies are specified by LSB headers within init.d scripts) 2012-11-14
startpar can be used by the SysV RC boot system executor to allow parallel process system startup 2014-02-09

udev alternatives

udev (userspace /dev) is a device manager for the Linux kernel.

In April 2012, udev's source code was merged into the systemd source tree.[1]

Although udev can still be compiled for usage without systemd, Lennart Poettering said that they will not polish udevd outside of systemd[2], adding:

"Yes, udev on non-systemd systems is in our eyes a dead end, in case you haven't noticed it yet. I am looking forward to the day when we can drop that support entirely."

So to be on the safe side, you probably want to use an alternative to udev:

  • eudev - Gentoo's maintained fork of udev
  • mdev - the plug-and-play manager built into BusyBox

For more see this StackExchange question

related: udevil (2) mounts and unmounts removable devices without a password, shows device info, and monitors device changes. It can also mount ISO files, nfs://, smb://, ftp:, ssh:// and WebDAV URLs, and tmpfs/ramfs filesystems.

See also

Init-specific articles:

Personal tools