Um beim Booten eines Systems einen Dienst zu starten sind die
/etc/rc?.d/
Verzeichnisse zuständig.
- Für normale Dienste ist es wohl das beste sie im
/etc/rc3.d/
(siehe Runleves) Verzeichnis zu halten. Dazu wird ein link mit
update-rc.d
generiert: ln -s /etc/init.d/meinDienst /etc/rc3.d/S99meinDienst.
Das heisst dass dein Dienst nach allen anderen „99“ gestartet „S“ wird. Also am ende des Bootvorganges.
- Damit dein Dienst bei Herunterfahren wieder gestoppt wird ein Link mit
update.rc.d
generiert: ln -s /etc/init.d/meinDienst /etc/rc6.d/K01meinDienst dabei steht „K“ für kill und bedeutet dass das Script mit dem Parameter „stop“ aufgerufen wird.
Damit alles richtig funktioniert sollte dein Script im
/etc/init.d/
Verzeichnis mindestens die Parameter „start“ und „stop“ unterstützen.
Einpflegen in das System (Generierung des Links)
sudo update-rc.d alfresco defaults Adding system startup for /etc/init.d/alfresco ... /etc/rc0.d/K20alfresco -> ../init.d/alfresco /etc/rc1.d/K20alfresco -> ../init.d/alfresco /etc/rc2.d/K20alfresco -> ../init.d/alfresco /etc/rc6.d/K20alfresco -> ../init.d/alfresco /etc/rc3.d/S99alfresco -> ../init.d/alfresco /etc/rc4.d/S99alfresco -> ../init.d/alfresco /etc/rc5.d/S99alfresco -> ../init.d/alfresco ralwet@adonis:~$
Entfernen aus dem Init System:
# update-rc.d -f <service> remove update-rc.d: /etc/init.d/blah exists during rc.d purge (continuing) Removing any system startup links for /etc/init.d/blah ... /etc/rc0.d/K20blah /etc/rc1.d/K20blah /etc/rc2.d/S20blah /etc/rc3.d/S20blah /etc/rc4.d/S20blah /etc/rc5.d/S20blah /etc/rc6.d/K20blah