Confronto di sistemi d'init
From Gentoo Wiki
Questo articolo mette a confronto i vari sistemi d'init. Alcuni di questo sotto elencati sono disponibili per Gentoo, mentre altri (come launchd ed SMF) no.
Programma disponibile
Caratteristica | Sistema d'init | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sysvinit | OpenRC | upstart | systemd | SMF | launchd | Epoch | finit | runit | s6 + s6-rc | 66 + 66-rc | BSD rc.d | dinit | |
Supportato su Gentoo | parzialmente (usato da OpenRC) | Sì (init predefinito) | No | Sì | No | No | Sì | No | Sì | No | No | No | No |
Pacchetto / Bug# | sys-apps/sysvinit | sys-apps/openrc | bug #498376 sys-apps/upstart nell'overlay unity-gentoo. |
sys-apps/systemd | - | - | sys-apps/epoch | - | sys-process/runit | sys-apps/s6 + sys-apps/s6-rc | - | - | - |
Piattaforme supportate | Linux / BSD | Linux + BSD | Linux | Linux | Solaris | MacOSX | Linux | Linux | Linux / BSD / MacOSX | Linux / BSD / MacOSX | Linux | BSD | Linux / BSD / MacOSX |
Linguaggio di programmazione principale | C | Shell POSIX (+ C) | C | C | C | C | C | C | C | C | C | Shell POSIX (+ C) | C++ |
Dipendenze principali | - | init (sysv o BSD) | D-Bus | D-Bus | init(sysv?) | - | libc, /bin/sh | ? | - | skalibs, execline | s6, s6-rc | rcorder | - |
Formato degli script d'init/servizi | semplice documento di configurazione | script di shell | documenti di configurazione + frammenti di shell | documenti di configurazione (ini) | XML (+ script di shell) | plist | multipli od un solo .conf | multipli od un solo .conf | script di shell | execline o script di shell | documenti di configurazione + frammenti di execline | script di shell | documenti di configurazione |
Configurazione per servizio | No | Sì (conf.d) | Con meccanismi per lavoro (uscita normale, riavvio) | Sì | Sì (istanze di servizi) | ? | Sì (v1.1+) | ? | No | No | Sì | No | Sì |
Funziona come demone | Sì (PID 1) | Sì (PID 1) | Sì (PID 1) | Sì (PID 1) | Sì (invocato) | Sì (PID 1) | Sì (PID 1) | Sì (PID 1) | Sì (PID 1) | Sì (sys-apps/s6-linux-init) | Sì (PID 1) | Sì (PID 1) | Sì (PID 1) |
Dipendenze/eventi intra-servizio | No | Sì | Sì | Sì | Sì | No | Sì (supporto basico, v1.3+) | ? | Sì | Sì | Sì | Sì | Sì |
Avvio di servizi in parallelo | Sì | Sì (opzionale) | Sì | Sì | Sì | Sì | No | Sì | Sì | Sì | Sì | Sì | Sì |
Mantenimento dell'attività dei demoni | Sì | Sì (opzionale v0.21+ tramite demoni supervisori) | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì |
Fornitore di servizi preferito | n/a | Gentoo | Ubuntu | upstream | Solaris | MacOSX | n/a | n/a | Void Linux | Artix Linux | Obarun | NetBSD, FreeBSD, OpenBSD | n/a |
Licenza | GPL v2+ | 2-cl. BSD | GPL v2 | LGPL v2.1+ | ? | Licenza Apache 2.0 | Unlicense | MIT | BSD | ISC | ISC | BSD | Licenza Apache 2.0 |
Servizi supportati (su Gentoo)
Caratteristica | OpenRC | systemd |
---|---|---|
Montaggio di filesystem | Uno script per gruppo (root, local, network, swap, ecc.). | Due unità per punto di montaggio (fsck + mount), generate a runtime con dipendenze. |
getty (prompt del terminale) | Avviato tramite /etc/inittab od uno script agetty | Un'unità per console, crete da modello su richiesta. |
Impostazione di rete | Multiple opzioni come dhcpcd[1][2], netifrc, iwd, o NetworkManager.[3] | (systemd-networkd) integrato, una qualsiasi delle opzioni esterne prima menzionate. |
Impostazione Gestore Display X11 | Servizi singoli per ciascuno (richiesto per riavvio automatico). | Unità Gestore del Display separate. |
Vedi anche
- Runit — lightweight process supervision suite, originally inspired by daemontools-inspired that offers fast and reliable service management.
- S6 e sistemi d'init basati su s6-rc
- OpenRC — un sistema d'init basato su dipendenze per sistemi simil-Unix che mantiene compatibilità con il sistema d'init di sistema (vedi il sotto articolo su openrc-init).
- User:AdibSaad/66
Risorse esterne
- s6 - Thread del forum
- Thread del forum
- openrc-init
- GNU shepherd - gestore di servizi per il SO GNU.
- [1] - Mantenitore originale di finit
- 66tools-overlay
- Mantenitore originale di 66tools-overlay
- Mantenitore originale di dinit