Runlevel ändern unter Debian (Ubuntu)

Natürlich gibt es den “schweren” Weg, den man zu Fuß geht und entsprechend die Sym-Links selbst erzeugt bzw. wieder löscht. Aber man könnte auch den einfacheren Weg gehen und die vorhande Funktionalität des Systems ausnutzen, und zwar mit update-rc.d.

Weiter unten folgen die Befehle mit Beschriebung, aber zuerst noch eine Information. Damit update-rc.d auch richtig arbeiten kann, benötigt es passende Informationen in den init.d-Scripten. Hier ein kleines Beispiel wenn jemand selber mal eins schreiben will:

#! /bin/sh
### BEGIN INIT INFO
# Provides: Was macht das Skript?
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kurze Beschreibung
# Description: Längere Bechreibung
### END INIT INFO
# Author: Name <email@domain.tld>

# Aktionen
case "$1" in
start)
  /opt/beispiel start
  ;;
stop)
  /opt/beispiel stop
  ;;
restart)
  /opt/beispiel restart
  ;;
esac

exit 0

Und nun die Befehle. Mit diesem werden alle Sym-Links gelöscht:

update-rc.d -f <Basisname> remove

Damit werden die im Default-Parameter angegebenen RunLevel-Links wieder erzeugt:

update-rc.d <Basisname> defaults

Per Hand definierte Links:

Def des Bsp: Link für Start an Stelle 80 für Runlevel 2-5 anlegen (S80<Basisname>) und Link für Stop an Stelle 55 für Runlevel 2-5 anlegen (K55<Basisname>)

update-rc.d <Basisname> start <Nr> <RunLevel> . stop <Nr> <RunLevel> .
update-rc.d <Basisname> start 80 2 3 4 5 . stop 55 2 3 4 5 .

Zur Sicherheit nochmal angemerkt, mit diesem Befehlen kann man den aktuell laufenden Dienst dann noch beenden:

invoke-rc.d <Basisname> stop
/etc/init.d/<Basisname> stop