Überblick über systemctl
systemd ist ein Init-System, das den Startprozess des Systems (Boot) verwaltet und alle Dienste (Dämonen), die nach dem Systemstart im Hintergrund ausgeführt werden, kontrolliert. `systemctl` ist die Schnittstelle, die es ermöglicht, diese Funktionen von systemd über die Kommandozeile zu steuern. Früher wurden verschiedene Befehle wie `service`, `chkconfig`, `reboot`, `shutdown` in `systemctl` zusammengefasst.
Verstehen von systemd Einheiten
systemd abstrahiert alles, was es verwaltet, durch das Konzept der 'Einheit'. Jede Einheit repräsentiert einen bestimmten Dienst, einen Mount-Punkt, ein Gerät usw. Die häufigsten Einheitstypen sind `Dienst-Einheit (.service)`, `Socket-Einheit (.socket)`, `Mount-Einheit (.mount)`, `Geräte-Einheit (.device)`, `Ziel-Einheit (.target)` usw. In der Regel wird die `.service`-Erweiterung weggelassen.
Hauptfunktionen von systemctl
- Überprüfung des Dienststatus: Ermittelt, welche Dienste aktiv, aktiviert oder fehlgeschlagen sind.
- Dienststeuerung: Startet, stoppt, startet Dienste neu und lädt sie (liest Konfigurationen erneut ein).
- Einstellung des automatischen Starts von Diensten: Konfiguriert, ob ein Dienst beim Systemstart automatisch gestartet werden soll oder nicht.
- Systemstromverwaltung: Startet, beendet oder wechselt in den Energiesparmodus des Systems.
- Verwaltung von Einheitendateien: Überprüft und ändert den Speicherort und die Abhängigkeiten von Einheitendateien.
Wichtige systemctl Befehlsoptionen
`systemctl` bietet eine Vielzahl von Optionen für die Verwaltung von Diensten, die Steuerung der Systemstromversorgung und die Verwaltung von Einheitendateien. Die meisten dienstbezogenen Befehle erfordern `sudo`-Rechte.
1. Dienststatus und -steuerung
2. Einstellung des automatischen Starts von Diensten
3. Systemstromverwaltung
4. Verwaltung von Einheitendateien und -listen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`systemctl` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Beispiele
Lernen Sie anhand verschiedener Anwendungsbeispiele des `systemctl` Befehls, wie Sie Dienste in einem systemd-basierten System effektiv verwalten.
Überprüfung des Status des Webservers (Nginx)
systemctl status nginx.service
Überprüfen Sie, ob der Nginx-Webserver derzeit läuft, inaktiv ist oder Fehler aufgetreten sind, und erhalten Sie detaillierte Informationen.
MySQL Dienst starten
sudo systemctl start mysql.service
Startet den MySQL-Datenbankdienst.
SSH Dienst neu starten
sudo systemctl restart sshd.service
Startet den SSH (Secure Shell) Dienst neu. Nützlich nach Änderungen an Konfigurationsdateien.
Einstellung des automatischen Starts des Apache-Webservers
sudo systemctl enable apache2.service
Stellt ein, dass der Apache-Webserver beim Systemstart automatisch gestartet wird.
Überprüfung aller aktiven Dienstlisten
systemctl list-units --type=service --state=active
Listet alle Dienst-Einheiten auf, die im aktuellen System den Status 'active' (laufend oder bereit) haben.
Systemneustart über systemd
sudo systemctl reboot
Startet das System auf die empfohlene Weise sicher neu.
Inhalt der Einheitendatei eines bestimmten Dienstes anzeigen
systemctl cat redis-server.service
Überprüfen Sie den Inhalt der systemd-Einheitendatei des Redis-Dienstes (z.B. `/etc/systemd/system/redis.service`), um zu verstehen, wie der Dienst funktioniert.