Next: Anfordungsanalyse
Up: Zustandsmanagement mit init
Previous: Vorstellung des init-Konzeptes unter
- Initialisierungen (rc.sysinit),
- dauerhaft zu kontrollierende Prozesse (Logins, USV-Kontrolle),
- Subsysteme in bestimmten Systemzuständen (Netz-Server,
Host-Server, Remote-Filesystem, ...)
Initialiserungen und dauerhafte Einstellungen ändern sich selten.
Subsystemne müssen häufiger umkonfiguriert werden
Runlevel.
Ablauf von init:
bild2.eps
- Bezeichnung durch eine Ziffer (oder einige Buchstaben)
- Modellieren den "`Gesamtzustand"' des Systems
- Gruppieren die zur Verfügung stehenden Services
und Subsysteme - Aktivierung von dynamischen Systemkomponenten,
z.B. Netzwerkdaemonen oder NFS
- 1
- Eingeschränktes System nur für den Systemverwalter zu
Administrationszwecken (sog. Single-User-Mode, auch
Runlevel S)
- 2
- Komplettes System, fertig für Benutzerbetrieb, ohne Netzwerk
- 3
- Komplettes System, fertig für Benutzerbetrieb, mit Netzwerk
-
- Spezielle Runlevel:
- 0
- Halt (nur in diesem Zustand kann der Rechner ohne Datenverlust
ausgeschaltet werden)
- 6
- Reboot
- Auslösen des Default-Runlevels (aus /etc/inittab)
- Übergabe als Parameter beim Booten durch die Boot-Konsole
(LILO, MILO, SILO, ...)
- Expliziter Aufruf durch Systemverwalter bei laufendem Betrieb:
- Shutdown durch Befehl oder Hotkeys (Ctrl-Alt-Del)
- Sicheres Herunterfahren durch powerd wegen Stromausfall
etc.
bild3.eps
- telinit schickt dem init-Prozess ein Signal
- init liest inittab neu aus, startet rc
- im neuen Runlvel werden nicht benötigte Subsysteme
abgeschaltet
- im neuen Runlevel werden neue Subsysteme aktiviert
- rc wird aufgerufen (Parameter: neuer (und alter) Runlevel)
- im neuen Runlevel-Verzeichnis werden Stoppskripte aufgerufen
- im neuen Runlevel-Verzeichnis werden Startskripte aufgerufen
- Skripte liegen in /etc/rc.d/rcN.d/...
- die Skripte sind Symlinks nach /etc/rc.d/init.d/..., wo
alle Skripte für alle Runlevel gesammelt werden
- Jedes Skript startet bzw. stoppt genau ein Subsystem, je
nachdem, ob es mit Paramter start oder stop
aufgerufen wird
Next: Anfordungsanalyse
Up: Zustandsmanagement mit init
Previous: Vorstellung des init-Konzeptes unter
Nils Magnus (magnus@informatik.uni-kl.de), Kester Habermann (kester@unix-ag.uni-kl.de)