Zur Erinnerung: Was sind Daemons?
Daemons sind wie unsichtbare Helfer im Computuer, die im Hintergrund arbeiten. Sie starten oft automatisch, wenn der Computer hochfährt und warten darauf, ihre Aufgaben zu erledigen. Sie sind eng mit Prozessen verbunden.
Es gibt zwei Arten :
-
Systemdienste: Dinge, die das System braucht (z. B. Netzwerk starten).
-
Serverdienste: Dinge, die der Benutzer installiert (z. B. ein Webserver)
Steuerung von Units mit systemctl
Mit “systemctl” stuerst du, welche Helfer (Daemons oder andere “Units”) laufen.
Befehle die du kennen solltest sind:
Starten: systemctl starten <units>
Stoppen: systemctl stop <units>
Status prüfen: systemctl status <units>Units-Typen
Units sind wie verschiedene Werkzeuge. Es gibt viele Typen, z.B.:
-
Service Unit (.servie):
- Startet Programme oder Daemons
- Beispiel: Dein Webserver starten mit einer Service Units.
-
Timer Units (.timer):
- Führt etwas regelmäßig oder zu einem bestimmten Zeitpunkt aus.
- Beispiel: Automatisches Backup
-
Path Units (.path)
- Starten etwas, wenn sich eine Daten oder ein Ordner ändert.
- Beispiel: Ein Ordner wird Überwacht.
-
Mount Units (.mount):
- Bindet Dateisysteme ein.
- Beispiel: Automatische Einbinden eines USB-Sticks.
-
Target Unit (.target)
- Bestimmt Zustände des Systems (z. B. Mehrbenutzermodus oder Neustart)
Systemweite und benutzereigene Units
Systemweite Units:
- Können nur von einem Admin (root) erstellen und geändert werden.
- Speicherorte: /etc/systemd/system
Benutzereigene Units:
- Jeder Benutzer kann eigene Units für sich selbst erstellen.
- Speicherorte: ~/.config/systemd/user oder ~/.local/share/systemd/user.
Units anlegen
Eine Unit-Datei besteht aus drei Abschnitten:
-
[Units] Allgemeine Infos (z. B. Beschreibung, Abhängigkeiten).
-
[Service] Einstellungen für den Service ( z. B. welches Skript ausgeführt wird)
-
[Install] Wann und wie die Unit gestartet wird.
Beispiel für eine einfache Unit:
[Unit]
Description=Beispielservice
After=network.target
[Service]
ExecStart=/path/zu/deinem/skript.sh
Type=simple
[Install]
WantedBy=multi-user.targetArbeiten mit Units
-
Units aktivieren: sudo systemctl enable
-
Units deaktivieren: sudo systemctl disable
-
Unit neu laden: sudo systemctl deamon-reload
Logdateien
Logdateien sind wie ein Tagebuch deines Systems. Sie protokollieren, was passiert ist.
Speichertort: /var/ loq/.
Wichtige Logdateien:
auth.log: Anmeldeversuche.
syslog: Allgemeine Systemmeldungen.
kern.log: Meldungen vom Kernel.
Übung 5
Aufgabe 5.1
-
Was sind Units?
Units sind verschiedene Werkzeugen, um Prozesse , Timer, Mounts usw. zu steuern. -
Wie werden Units angelegt?
-
Nennen Sie 3 Unit-Typen.
-
Was sind Target Units? Nennen Sie 4 Beispiele.
-
Worin unterscheiden sich systemweite und benutzereigene Units?