Richtig abgelegt

Alle im Folgenden angegebenen Pfade beziehen sich auf Debian und verwandte Systeme. Andere Distributionen verwenden oft alternative Verzeichnisse.

Für jeden Runlevel existiert ein eigenes Verzeichnis, in dem sich Links befinden, die nach /etc/init.d/Skript zeigen. Der Name des symbolischen Links beginnt bei einem Startskript mit einem S, ein führendes K kennzeichnet das Skript zum Beenden ("Kill"). Es folgt eine Nummer, die die Reihenfolge bestimmt, in der das System die Skripte abarbeitet. Installieren Sie Dienste per Paketmanagement, erhalten die Links die passenden Namen; bei selbst kompilierten Programmen müssen Sie selbst Hand anlegen, auch hinsichtlich der Reihenfolge. So funktioniert beispielsweise ein Webserver erst dann ordnungsgemäß, wenn das Netzwerk bereits läuft.

Im klassischen Init-System von Debian liegen unter /etc die Verzeichnisse für die Runlevel: rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d und rcS.d. Bei Debian 7 enthalten rc3.d, rc4.d und rc5.d fast identische Daten wie rc2.d, kommen aber in der Regel nicht zum Einsatz. Sie bieten damit die Möglichkeit, eigene Vorstellungen zu verwirklichen [3].

Das Skript für den Dienst atd liegt auf einem solchen System mit gleichem Namen unter /etc/init.d. Unter /etc/rc2.d befindet sich der Link S15atd für den Start. Die Links, die der Init-Prozess aufruft, um diesen Daemon zu beenden, liegen in mehreren Verzeichnissen: rc0.d, rc1.d und rc6.d und heißen jeweils K01atd.

Konfiguration

Die Datei /etc/inittab definiert nicht nur das Standard-Runlevel, sondern steuert das Verhalten des Systems auch über weitere Einträge, die in der folgenden Form vorliegen:

id:Runlevel(s):Aktion:Kommando

Das erste Feld bezeichnet den Eintrag eindeutig und einmalig. Im zweiten Feld führen Sie einen oder mehrere Runlevels auf, für die der Eintrag gilt. Bei mehreren Einträgen sortieren Sie diese aufsteigend. Das dritte Feld gibt die Art der gewünschten Aktion an, deren Bedeutung die Tabelle "Aktionen" aufführt.

Aktionen

Aktion Bedeutung
initdefault Standard-Runlevel
respawn Wurde der angegebene Prozess beendet, startet das System das Programm neu
wait Init wartet beim Wechsel des Runlevels das Ende des angegebenen Prozesses ab
ctrlaltdel Aktion für die Tastenkombination [Strg]+[Alt]+[Entf]
boot Aktion nur beim Start, nicht beim Wechsel des Runlevels ausführen
once Aktion einmalig beim Erreichen des angegebenen Runlevels ausführen
powerwait Bei vorhandener USV Prozess bei Stromausfall starten.
powerfail Bei vorhandener USV Prozessende des aufgerufenen Programms nicht abwarten.
powerfailnow Bei vorhandener USV System herunterfahren, sobald die USV leere Batterien meldet.
powerokwait Bei vorhandener USV Ende des Prozesses des aufgerufenen Programms abwarten, sobald Netzverbindung wiederhergestellt ist.

In Listing 3 finden Sie einen weiteren Auszug aus /etc/inittab. Zu Beginn steht die Anweisung, den Durchlauf des Skripts /etc/init.d/rc für den angegebenen Runlevel abzuwarten. Zeile 12 definiert, was beim Drücken von [Strg]+[Alt]+[Entf] geschehen soll – in diesem Fall für alle Runlevel außer 0 und 6 ein Neustart des Rechners. Die Einträge pf, pn und po regeln, wie das System beim Stromausfall bei vorhandener USV reagiert.

Der Block ab Zeile 33 aktiviert die Konsolen. Die erste (tty1) kommt in den Runleveln 1 bis 5 zum Einsatz. Die virtuellen Konsolen tty2 bis tty6 sind den Runleveln 2 und 3 vorbehalten. Auf tty7 liegt bei Debian die grafische Oberfläche. Benötigen Sie zusätzliche virtuelle Konsolen, bestünde die Möglichkeit, ab tty8 weitere anzulegen.

Listing 3

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
#  <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

Den laufenden und vorhergehenden Runlevel ermitteln Sie über die Anweisung who -r (Abbildung 2). Den Wechsel eines Runlevels – dazu gehört auch das Anhalten oder Neustarten des Rechners – nehmen Sie mit den Kommandos aus der Tabelle "Runlevel-Wechsel" vor. Mit dem Befehl kill -1 1 liest Init seine Konfiguration neu ein, ohne dass dazu das System neu starten müsste. Mittels kill -9 1 fahren Sie das System herunter.

Runlevel-Wechsel

Runlevel Kommandos
0 init 0, shutdown -h now, halt
1 bis 5 init n
6 init 6, shutdown -r now, reboot
Abbildung 2: Mit einem einfachen Kommando ermitteln Sie den aktuellen und den vorhergehenden Runlevel.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 9 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Systemstart
    Auf fast allen modernen Linux-Distributionen kümmert sich inzwischen Systemd um den Systemstart – und mehr. Wir erklären, wie die neue Schaltzentrale funktioniert.
  • Systemstart mit Systemd
    Einschalten, loslegen: Mit Systemd versucht eine Gruppe Entwickler die Revolution im Boot-Prozess. Ob der Turbo aber wirklich zündet, steht noch in den Sternen.
  • Systemd als Schaltzentrale für das Linux-System
    Systemd polarisiert die Community – und hat zugleich das Zeug dazu, alte Gräben zu schließen und eine einheitliche Basis für Linux zu bilden.
  • Upstart und Systemd im Vergleich
    Upstart und Systemd – gleich zwei neue Ansätze konkurrieren um die Pole-Position beim Linux-Start. Wir unterziehen die Kandidaten einem konzeptionellen Vergleich.
  • Systemd 209 freigegeben
    Die neue Version des Init-Systems bringt viele kleine Änderungen mit. So ist Systemd jetzt auf KDbus vorbereitet und übernimmt die Konfiguration von Netzwerkschnittstellen mit dem neuen Dienst Networkd.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...