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.serviceFü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.targetErlä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-reloadAktivieren Sie den Dienst, damit er beim Booten startet:
sudo systemctl enable myservice.serviceStarten Sie den Dienst manuell:
sudo systemctl start myservice.serviceÜberprüfen Sie den Status des Dienstes:
sudo systemctl status myservice.serviceWenn 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.servicesudo systemctl stop myservice.servicesudo systemctl disable myservice.servicejournalctl -u myservice.service --no-pagerDie 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.