cinit ist ein Init-System für Posix-Systeme. Wie auch andere neue Init-Systeme versucht es das alte SysVinit abzulösen. Seine Stärken sind die Unterstützung von Profile, dem parallelen Starten von Programmen mit harten (sogenannte „needs“) und weichen („wants“) Abhängigkeiten. Durch den parallelen Ablauf soll es wesentlich schneller starten als klassische Init-Systeme, die sequentiell starten.
Geschichte
Die erste Version von cinit (0.1) wurde im Juni 2005 veröffentlicht. Anschließend folgte relativ schnell die Version 0.2. cinit wurde in der Version 0.2.1 im Linux-Magazin mit anderen Init-Systemen verglichen.
Aktueller Stand
cinit ist zurzeit in der Version 0.3pre19 erhältlich, die am 26. November 2009 veröffentlicht wurde. Im momentanen Stand ist cinit stabil, es fehlen jedoch noch einige Funktionen (Herunter- und Herauffahren von Diensten). Im Gegensatz zu anderen alternativen Init-Systemen ist cinit nicht sehr populär, was möglicherweise auf die fehlende Dokumentation in der Version 0.2 zurückzuführen ist. cinit in der Version 0.3 soll laut Angaben des Autors auch nicht mehr Linux-spezifisch sein, sondern auch unter anderen Betriebssystemen, wie FreeBSD oder NetBSD lauffähig sein.
Funktionsweise
cinit wird über das sogenannte cconfig-Verfahren (siehe unten) unterhalb von /etc/cinit konfiguriert. Normalerweise beginnt der Bootvorgang damit, dass cinit einen Abhängigkeitsbaum aufbaut, der unterhalb von /etc/cinit/svc/init anfängt. Dies kann jedoch durch die Angabe eines Profils geändert werden. Danach werden diejenigen Dienste ohne Abhängigkeit gestartet (der Baum wird sozusagen von unten nach oben abgearbeitet), bis der erste gestartet wurde.
Needs
Needs sind harte Abhängigkeiten. Wenn eine harte Abhängigkeiten eines Dienstes fehlschlägt, so wird dieser nicht gestartet.
Wants
Wants sind weiche Abhängigkeiten. Es wird versucht die Abhängigkeit vor dem abhängigen Dienst zu starten, aber wenn dies fehlschlägt, wird es ignoriert und der abhängige Dienst trotzdem gestartet.
Profile
Wenn man beim Starten cinit das Argument „cprofile:“ und direkt dahinter einen Namen übergibt, so wird dieser Dienst als erster gestartet anstatt des init-Dienstes.
Lizenz
cinit wurde zunächst unter der GPL in der Version 2 vertrieben und ist im August 2007 auf GPL in der Version 3 umgestiegen.