Vergleich der Init-Systeme

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Comparison of init systems and the translation is 19% complete.
Outdated translations are marked like this.
Other languages:

Dieser Artikel vergleicht und kontrasiert Init-Systeme. Einige der unten verglichenen Init-Systeme sind für Gentoo verfügbar, während andere (wie launchd und SMF) es nicht sind.

Verfügbare Software

Funktion Init-System
sysvinit OpenRC upstart systemd SMF launchd Epoch finit runit s6 + s6-rc BSD rc.d
In Gentoo unterstützt teilweise (verwendet von OpenRC) Yes (default init) No Yes No No Yes No Yes No No
Paket / Bug# sys-apps/sysvinit sys-apps/openrc bug #498376
sys-apps/upstart im unity-gentoo overlay.
sys-apps/systemd - - sys-apps/epoch - sys-process/runit sys-apps/s6 + sys-apps/s6-rc -
Unterstützte Plattformen Linux / BSD Linux + BSD Linux Linux Solaris MacOSX Linux Linux Linux / BSD / MacOSX Linux / BSD / MacOSX BSD
Hauptsächlich verwendete Programmiersprache C POSIX shell (+ C) C C C C C C C C POSIX shell (+ C)
Hauptabhängigkeiten - init (sysv or BSD) D-Bus D-Bus init(sysv?) - libc, /bin/sh ? - skalibs, execline rcorder
Init-Skript/Dienstformat Einzelne Konfigurationsdatei Shellskripte Konfigurationsdateien + Shellfragmente Konfigurationsdateien (ini) XML (+ Shellskripte) plist Mehrere oder einzelne .conf-Datei(en) Mehrere oder einzelne .conf-Datei(en) Shellskripte execline oder Shellskripte Shellskripte
Per-Dienst-Konfiguration No Yes (conf.d) Mit in-Job-Mechanismen (normal exit, respawn) Yes Yes (Dienstinstanzen) ? Yes (v1.1+) ? No No No
Läuft als Daemon Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (per Aufruf) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (PID 1) Yes (sys-apps/s6-linux-init) Yes (PID 1)
Dienstübergreifende Abhängigkeiten/Ereignisse No Yes Yes Yes Yes No Yes (Grundlegende Unterstützung, v1.3+) ? Yes Yes Yes
Parallelstart von Diensten Yes Yes (optional) Yes Yes Yes Yes No Yes Yes Yes Yes
Aufrechterhaltung von Daemons Yes Yes (optional ab v0.21+ per supervise-daemon) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Bevorzugter Bereitsteller der Dienst-Dateien k.a. Gentoo Ubuntu upstream Solaris MacOSX k.a. k.a. Void Linux k.a. NetBSD, FreeBSD, OpenBSD
Lizenz GPL v2+ 2-cl. BSD GPL v2 LGPL v2.1+ ? Apache License 2.0 Unlicense MIT BSD ISC BSD

! ! sysvinit ! OpenRC ! upstart ! systemd ! SMF ! launchd ! Epoch ! finit ! runit ! s6 + s6-rc ! 66 + 66-rc ! BSD rc.d ! dinit |-

| Supported in Gentoo || partially (used by OpenRC) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (default init) || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-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 || Linux || BSD || Linux / BSD / MacOSX |-

| Main coding language || C || POSIX shell (+ C) || C || C || C || C || C || C || C || C || C || POSIX shell (+ C) || C++ |-

| Main dependencies || - || init (sysv or BSD) || D-Bus || D-Bus || init(sysv?) || - || libc, /bin/sh || ? || - || skalibs, execline || s6, s6-rc || 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 || config files + execline fragments || shell scripts || config files |-

| Per-service configuration || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (conf.d) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | With in-job mechanisms (normal exit, respawn) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (service instances) || ? || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (v1.1+) || ? || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes |-

| Running as a daemon || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (invoked) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (sys-apps/s6-linux-init) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (PID 1) |-

| Cross-service dependencies/events || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (basic support, v1.3+) || ? || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes |-

| Parallel service startup || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (optional) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #F2DEDE; color: black; vertical-align: middle; text-align: left; " class="cell-no" | No || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes |-

| Keeping daemons alive || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes (optional v0.21+ via supervise-daemon) || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes || style="background-color: #DFF0D8; color: black; vertical-align: middle; text-align: left; " class="cell-yes" | Yes |-

| Preferred service file supplier || n/a || Gentoo || Ubuntu || upstream || Solaris || MacOSX || n/a || n/a || Void Linux || Artix Linux || Obarun || NetBSD, FreeBSD, OpenBSD || n/a |-

| License || GPL v2+ || 2-cl. BSD || GPL v2 || LGPL v2.1+ || ? || Apache License 2.0 || Unlicense || MIT || BSD || ISC || ISC || BSD || Apache License 2.0 |-

|}

Unterstützte Dienste (in Gentoo)

Feature OpenRC systemd
Filesystem mounting One script per group (root, local, network, swap, etc.). Two units per mount point (fsck + mount), runtime-generated with dependencies.
getty (terminal prompts) Started through /etc/inittab or via agetty script One unit per console, instantiated from template on-demand.
Networking setup Several options like dhcpcd[1][2], netifrc, iwd, or NetworkManager.[3] Integrated (systemd-networkd), or using any of the external options mentioned prior.
X11 Display Manager setup Single service for all (required to auto-restart). Separate Display Manager units.

Siehe auch

Externe Ressourcen

Referenzen