Das Verwalten von Diensten auf einem CentOS 7 Server ist essenziell. Dieser Guide erklärt die Konfiguration des Autostarts, sowohl mit System V init als auch mit systemd.
System V init: Klassisches Dienstmanagement
CentOS 7 verwendet standardmässig System V init.
chkconfig: Das Werkzeug der Wahl
chkconfig
steuert das Startverhalten von Diensten:
-
Konfiguration anzeigen:
chkconfig --list <service_name>
-
Autostart aktivieren:
chkconfig <service_name> on
-
Autostart deaktivieren:
chkconfig <service_name> off
-
Runlevel anpassen:
chkconfig --level <runlevels> <service_name> on
Beispiel für den chkconfig-Befehl unter CentOS 7
Runlevel in CentOS 7
Runlevel definieren den Betriebszustand:
- 0: Systemstopp
- 1: Einzelbenutzermodus (Wartung)
- 2: Mehrbenutzermodus ohne Netzwerk
- 3: Mehrbenutzermodus mit Netzwerk (Standard im grafischen Modus)
- 4: Reserviert
- 5: Mehrbenutzermodus mit Netzwerk und grafischer Oberfläche (X11) (Standard im grafischen Modus)
- 6: Neustart
CentOS 7 startet standardmässig in Runlevel 5.
Systemd: Der moderne Ansatz
Systemd bietet erweiterte Funktionen und ersetzt System V init.
Autostart mit systemctl verwalten
systemctl
dient zur Interaktion mit Diensten:
-
Autostart aktivieren:
systemctl enable <service_name>.service
-
Autostart deaktivieren:
systemctl disable <service_name>.service
-
Status prüfen:
systemctl status <service_name>.service
Dienstverwaltung mit systemctl unter CentOS 7
Benutzerdefinierte Dienste mit Systemd erstellen
-
Service Unit File erstellen:
sudo nano /etc/systemd/system/myservice.service
-
Eigenschaften definieren:
[Unit] Description=Mein benutzerdefinierter Dienst After=network.target [Service] User=benutzername Group=gruppenname ExecStart=/pfad/zu/deinem/skript [Install] WantedBy=multi-user.target
-
Systemd-Konfiguration neu laden:
sudo systemctl daemon-reload
-
Dienst aktivieren und starten:
sudo systemctl enable myservice.service sudo systemctl start myservice.service
Beispiel für eine Systemd Service Unit Datei
Fehlerbehebung beim Autostart
- Status prüfen:
systemctl status <service_name>.service
- Logdateien prüfen:
journalctl -u <service_name>.service
- Abhängigkeiten prüfen: Stellen Sie sicher, dass abhängige Dienste laufen.
- Konfiguration prüfen: Überprüfen Sie die Service Unit Datei.
Fazit
Die Beherrschung des Autostarts von Diensten unter CentOS 7 ist entscheidend für einen zuverlässigen Serverbetrieb. Sie kennen nun die Methoden, um Dienste automatisch zu starten, sei es mit System V init oder systemd. Beachten Sie die Dokumentation und seien Sie bei Systemänderungen vorsichtig.