initclt sieht kein Init-Skript in Ubuntu 12 64bit

initclt sieht kein Init-Skript in Ubuntu 12 64bit

Ich habe ein Init-Skript im LSB-Format erstellt und es in das Verzeichnis /etc/init.d kopiert. Ich kann den Dienst manuell starten, stoppen und seinen Status überprüfen und alles funktioniert einwandfrei. Dann versuche ich, den Dienst so einzustellen, dass er mit Runlevels automatisch gestoppt/gestartet wird, indem ich Folgendes mache:

update-rc.d service defaults

und ich sehe Warnungen wie:

update-rc.d: Warnung: xxx Start-Runlevel-Argumente (keine) stimmen nicht mit den LSB-Standard-Startwerten (3 4 5) überein.

und „initctl list“ zeigt meinen Dienst nicht an. Muss ich einen Schritt ausführen, damit dieser Dienst richtig registriert wird oder angezeigt wird? (Ich weiß, dass es bei RedHat „chkconfig --add xxx“ ist), aber ich kenne Ubuntu nicht gut genug.

Antwort1

initctlist Teil des Upstart-Mechanismus von Ubuntu. initctl listzeigt Ihnen nur den Status von Upstart-Jobs. Ihr Skript ist tatsächlich ein SysV-Init-Skript.

Um den Status des SysV-Init-Skripts aufzulisten, verwenden Sie diesen Befehl:

service --status-all

Ihr Dienst sollte dort aufgeführt sein.


Um Links in den /etc/rcNOrdnern zu erstellen, verwenden Sie den folgenden Befehl:

update-rc.d your_init_script defaults

Aus der Manpage von update-rc.d:

Wenn die Standardeinstellungen verwendet werden, erstellt update-rc.d Links zum Starten des Dienstes im Runlevel 2345 und zum Stoppen des Dienstes im Runlevel 016.

verwandte Informationen