Systemctl basis: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 33: Zeile 33:
 
=Handling=
 
=Handling=
 
;Änderungen laden
 
;Änderungen laden
systemctl daemon-reload
+
*systemctl daemon-reload
 
;Starten des Dienstes
 
;Starten des Dienstes
systemctl start simple-http.service
+
*systemctl start simple-http.service
 
;Aktivieren des Dienstes beim Neustart des Systems
 
;Aktivieren des Dienstes beim Neustart des Systems
systemctl enable simple-http.service
+
*systemctl enable simple-http.service
 
;Status anzeigen
 
;Status anzeigen
systemctl status simple-http.service
+
*systemctl status simple-http.service
 
;Systemd Logs
 
;Systemd Logs
journalctl -fu simple-http.service
+
*journalctl -fu simple-http.service
 
;Kontrolle ob der Port geöffnet ist
 
;Kontrolle ob der Port geöffnet ist
ss -lntp | grep 8000
+
*ss -lntp | grep 8000
  
 
=Erklärung=
 
=Erklärung=

Version vom 29. Januar 2026, 12:28 Uhr

starten

  • systemctl start apache2

stop

  • systemctl stop apache2

restart

  • systemctl restart apache2

enable

  • systemctl enable apache2

diable

  • systemctl disable apache2

is-enabled

  • systemctl is-enabled apache2

Unsere erste Service unit

  • vi /etc/systemd/system/simple-http.service
[Unit]
Description=My Miscellaneous Service
After=network.target

[Service]
Type=simple
User=kit
WorkingDirectory=/home/kit/Downloads
ExecStart=/bin/python3 -m http.server
Restart=on-abort

[Install]
WantedBy=multi-user.target

Handling

Änderungen laden
  • systemctl daemon-reload
Starten des Dienstes
  • systemctl start simple-http.service
Aktivieren des Dienstes beim Neustart des Systems
  • systemctl enable simple-http.service
Status anzeigen
  • systemctl status simple-http.service
Systemd Logs
  • journalctl -fu simple-http.service
Kontrolle ob der Port geöffnet ist
  • ss -lntp | grep 8000

Erklärung

[Unit]
  • Description=My Miscellaneous Service

Eine Beschreibung des Dienstes. In diesem Fall wird der Dienst als "My Miscellaneous Service" beschrieben.

  • After=network.target

Gibt an, dass dieser Dienst erst gestartet wird, nachdem das Netzwerksystem gestartet wurde.

[Service]
  • Type=simple

Gibt an, dass dies ein einfacher Dienst ist. systemd nimmt an, dass der Dienst sofort nach dem Starten des in ExecStart angegebenen Befehls einsatzbereit ist.

  • User=thomas

Der Dienst wird als Benutzer thomas ausgeführt.

  • WorkingDirectory=/home/thomas/html

Das Arbeitsverzeichnis für den Dienst. Hier wird der Dienst im Verzeichnis /home/thomas/html ausgeführt.

  • ExecStart=/usr/bin/python3 -m http.server

Der Befehl, der ausgeführt wird, um den Dienst zu starten. In diesem Fall startet Python3 einen einfachen HTTP-Server.

  • Restart=on-abort

Der Dienst wird neu gestartet, wenn er unerwartet beendet wird (z.B. durch einen Absturz).

[Install]
  • WantedBy=multi-user.target

Dieser Schlüssel gibt an, dass der Dienst im multi-user.target gestartet wird. multi-user.target ist ein systemd-Ziel, das eine Nicht-Grafik-Benutzeroberfläche beschreibt und im Wesentlichen einen Mehrbenutzermodus ohne GUI darstellt.

Zusammenfassung

Die Datei definiert einen systemd-Dienst, der einen einfachen HTTP-Server startet, der als Benutzer thomas ausgeführt wird und im Verzeichnis /home/thomas/html arbeitet. Der Dienst wird automatisch neu gestartet, wenn er abstürzt, und er wird nach dem Netzwerkdienst gestartet. Der Dienst wird im Mehrbenutzermodus ohne grafische Benutzeroberfläche verfügbar gemacht.