Systemd ist ein leistungsfähiges Init-System, das von den meisten modernen Linux-Distributionen zur Verwaltung von System- und Dienstprozessen verwendet wird. Eine seiner wichtigsten Funktionen ist die Möglichkeit, Dienste beim Booten automatisch zu starten. Dieser Artikel führt Sie durch den Prozess der Konfiguration eines Dienstes, der beim Booten mit Systemd gestartet wird, um sicherzustellen, dass Ihre wichtigen Anwendungen bei jedem Neustart des Systems zuverlässig laufen.
Systemd verwendet Unit-Dateien, um Dienste zu definieren und zu verwalten. Diese Unit-Dateien werden gespeichert in:
/etc/systemd/system/
und /lib/systemd/system/
~/.config/systemd/user/
Eine Diensteinheitendatei hat normalerweise die Erweiterung .service
und enthält Konfigurationsanweisungen, die Systemd mitteilen, wie der Dienst zu verwalten ist.
Um einen Dienst so zu konfigurieren, dass er beim Booten gestartet wird, müssen Sie eine Systemd-Dienstdatei erstellen. Hier ist ein Beispiel, wie man einen benutzerdefinierten Dienst erstellt.
Führen Sie den folgenden Befehl aus, um eine neue Servicedatei in einem Texteditor zu öffnen:
sudo nano /etc/systemd/system/myservice.service
Fügen Sie den folgenden Inhalt hinzu und ändern Sie ihn entsprechend Ihrer Anwendung:
[Unit]
Description=My Custom Service
After=network.target
[Service]
ExecStart=/usr/bin/myapp
Restart=always
User=myuser
Group=mygroup
WorkingDirectory=/home/myuser/
[Install]
WantedBy=multi-user.target
Erläuterung:
Nach=Netzwerk.Ziel
: Stellt sicher, dass der Dienst startet, nachdem das Netzwerk verfügbar ist.ExecStart=/usr/bin/myapp
: Legt den Befehl zum Starten des Dienstes fest.Restart=always
: Stellt sicher, dass der Dienst im Fehlerfall neu gestartet wird.User=myuser
und Group=mygroup
: Führt den Dienst unter einem bestimmten Benutzer und einer bestimmten Gruppe aus.WantedBy=multi-user.target
: Stellt sicher, dass der Dienst im Mehrbenutzermodus gestartet wird (Standard-Runlevel für die meisten Server).Sobald die Dienstdatei erstellt ist, laden Sie Systemd neu, damit der neue Dienst erkannt wird:
sudo systemctl daemon-reload
Aktivieren Sie den Dienst, damit er beim Booten startet:
sudo systemctl enable myservice.service
Starten Sie den Dienst manuell:
sudo systemctl start myservice.service
Überprüfen Sie den Status des Dienstes:
sudo systemctl status myservice.service
Wenn alles richtig konfiguriert ist, sollten Sie eine Ausgabe sehen, die anzeigt, dass der Dienst läuft.
Hier finden Sie einige nützliche Befehle zur Verwaltung Ihres Systemd-Dienstes:
sudo systemctl restart myservice.service
sudo systemctl stop myservice.service
sudo systemctl disable myservice.service
journalctl -u myservice.service --no-pager
Die Verwendung von Systemd zum Starten von Diensten beim Booten ist eine einfache und effektive Methode, um sicherzustellen, dass kritische Anwendungen nach einem Systemneustart weiterlaufen. Wenn Sie eine Systemd-Dienstdatei richtig konfigurieren, sie beim Booten aktivieren und mit systemctl
verwalten, können Sie die Zuverlässigkeit und Automatisierung Ihrer Linux-Umgebung verbessern.