Initialisierungsscripte

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Vorbemerkung

Beim Bootvorgang werden eine Reihe von Scripte gestartet. Diese werden in /etc/init.d deponiert. Die Reihenfolge der Scripte ist von Bedeutung: Ein Script braucht z.B. ein funktionierendes Netzwerk, dann darf es erst gestartet werden, wenn das Script zum Starten des Netzwerks schon gelaufen ist.

Diese Abhängigkeiten (und weitere Eigenschaften) werden in einem speziellen Kommentar am Anfang des Scripts definiert.

Beispiel für den Definitionskommentar

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.local
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO

Schlüsselbegriffe

  • Provides: boot_facility_1 [boot_facility_2...]
    • Damit werden Namen definiert, die in anderen Scripts referenziert werden können.
  • Required-Start: boot_facility_1 [boot_facility_2...]
    • Scripte, die hier genannt werden, müssen vor diesem Script gestartet sein.
  • Required-Stop boot_facility_1 [boot_facility_2...]
    • Dieses Script wird vor den genannten Scripten gestoppt.
  • Should-Start: boot_facility_1 [boot_facility_2...]
    • Wie Required-Start, nur dass das Script nicht existieren muss.
  • Should-Stop: boot_facility_1 [boot_facility_2...]
    • Wie Required-Stop, nur dass das Script nicht existieren muss.
  • Default-Start: run_level_1 [run_level_2...]
    • Der Run-Level, in dem der Scriptstart erfolgt.
  • Default-Stop: run_level_1 [run_level_2...]
    • Der Run-Level, in dem das Stoppen des Scripts erfolgt.
  • Short-Description: short_description
    • Eine einzeilige Beschreibung.
  • Description: multiline_description
    • Eine mehrzeilige Beschreibung. Steht am Ende, Es zählen alle Zeilen bis zur "### END INIT INFO"-Markierung

Wichtige Boot-Einstellungsnamen (boot facilities)

  • $local_fs: Die lokalen Dateisysteme sind gemounted.
  • $network: Die grundlegende Netzwerkunterstützung ist verfügbar.
  • $named: Netzwerknamen können aufgelöst werden
  • $portmap: SunRPC/ONCRPC portmapping Service ist verfügbar.
  • $remote_fs: Die Netzwerk-Dateisysteme (Samba, NFS...) sind gemounted.
  • $syslog: Der Systemlogger läuft.
  • $time: Die Systemzeit ist gesetzt.

Initscript registrieren

Damit das Script vom Initialisierungssystem benutzt wird, ist ein

 insserv <script>

notwendig.

Initscript deaktivieren

 insserv -d <script>

Damit wird das Script nicht mehr gestartet/gestoppt.