101.3 Upstart und systemd
Upstart
- SysVinit startet alle Dienste nacheinander
- Upstart startet die nicht voneinander abhängigen Dienste parallel, was einen spürbar beschleunigten Systemstart zur Folge hat
- Upstart wurde bei Ubuntu und seinen Derivaten verwendet, wurde zwischenzeitlich jedoch durch systemd abgelöst
- Da Upstart zu SysVinit kompatibel sein soll, sind viele Parallelen zu finden, z.B. können die Befehle init und telinit, runlevel und sysctl weiterhin verwendet werden
- Ebenfalls werden weiterhin die Verzeichnisse /etc/rc.d abgearbeitet und der Prozess mit der PID1 heißt weiter /sbin/init
- Unterschiede zu SysVinit:
- Konfigurationsdateien liegen in /etc/init und /etc/event.d
- /etc/inittab wird nicht mehr verwendet
- Die Informationen, in welchen Runleveln ein Dienst gestartet, bzw. gestoppt wird, sind in den Skripten selbst hinterlegt und nicht mehr in den Verknüpfungen
- Verwendung kurzer Kommandos zur Steuerung der Dienste bzw. der Daemonen
reload smbd Smaba-Server neu starten NEU
/etc/rc.d/smbd reload ALT
- gültige Kommandos für Upstart Systeme sind start, stopp, restart, reload und status
systemd
- Alternative zu SysVinit und "Nachfolger" von Upstart
- Lädt ebenfalls parallel Dienste, kann jedoch im Gegensatz zu Upstart auch Anfragen an Dienste speichern, die noch nicht geladen sind
- systemd stellt dafür Sockets zur Verfügung
- systemd ist kompatibel zu den System-V-basierten Systemen (SysVinit)
- bekannten Kommandos können weiterhin verwendet werden (init, runlevel, sysctl)
- eigene Tools können die "alten" ersetzten: Ersatz für sysctl ist systemctl
- anstatt init 3 -> systemctl isolate runlevel3.target runlevel3.target ist dabei ein Link auf multi-user-target
- systemctl isolate rescue.target Ansteuerung des Single-User-Mode (runlevel 1)
- systemctl isolate reboot.target Neustart
- systemctl isolate poweroff.target Ausschalten
- Units bei systemd entsprechen in etwa den Skripten unter SysVinit, sind nur einfacher aufgebaut
- Die Dateien zu den Units liegen unter /usr/lib/systemd/sytem oder /lib/systemd/system
- konfigurierte Targets werden in das Verzeichnis /etc/sytemd/system verknüpft
- Festlegen eines standardmäßigen Targets für den Systemstart, indem man eine Verknüpfung in /etc/systemd/system/default.target anlegt bzw. ändert
ln -s /usr/lib/sytemd/sytem/multi-user.target /etc/systemd/system/default.target (der Computer startet nach einem Neustart lediglich in die Multiuser-Umgebung, aber nicht in die grafische)
- starten und beenden von Diensten ebenfalls über systemctl möglich:
systemctl start sshd.service (SSH Server starten)
- Manipulation der Dienste durch folgende Befehle möglich:
- start startet einen Dienst
- stop stoppt den Dienst
- restart startet den Dienst neu
- status überprüft, ob ein Dienst läuft
- enable Dienst wird beim Systemstart automatisch gestartet und alle notwendigen Symlinks werden erzeugt
- disable entfernt alle Symlinks, die für den automatischen Start notwendig sind
Keine Kommentare:
Kommentar veröffentlichen