Systemctl kurz und knapp: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
= systemd Crashkurs =
 +
*'''systemd''' ist das Init-System moderner Linux-Distributionen.
 +
*Es startet und überwacht Dienste, verwaltet Abhängigkeiten und ermöglicht paralleles Starten von Prozessen. 
 +
*Alle Meldungen und Statusinformationen werden zentral durch den '''Journal-Dienst''' ('''journald''') erfasst.
 +
*Über '''journalctl''' können Logs angezeigt, gefiltert und in Echtzeit verfolgt werden. 
 +
*systemd ersetzt die klassischen '''/etc/init.d'''-Skripte und bietet eine einheitliche Verwaltung von Diensten, Sockets, Mounts und Systemzuständen (Targets).
 +
 
=Listing aller Services=
 
=Listing aller Services=
 
*systemctl --type=service
 
*systemctl --type=service
 +
 
=Logging eines Dienstes=
 
=Logging eines Dienstes=
 
*journalctl -u ssh
 
*journalctl -u ssh
 +
 
=Logging eines Dienstes fortlaufend=
 
=Logging eines Dienstes fortlaufend=
 
*journalctl -f -u ssh
 
*journalctl -f -u ssh
  
=Starten eines Service=
+
=Eigenen Service Unit erstellen=
*systemctl start dienst
+
;Service Datei
=Stopen eines Service=
+
*vi /etc/systemd/system/simple-http.service
*systemctl stop dienst
 
=Restarten eines Service=
 
*systemctl restart dienst
 
=Aktivieren eines Service=
 
*systemctl enable dienst
 
=Deaktivieren eines Service=
 
*systemctl disable dienst
 
=Status eines Service=
 
*systemctl status dienst
 
 
 
=Anlegen eines Dienstes=
 
;Beispiel einer Firewall
 
*echo '#!/bin/bash' > /usr/local/sbin/firewall
 
*chmod +x /usr/local/sbin/firewall
 
*cat /etc/systemd/system/firewall.service
 
 
<pre>
 
<pre>
 
[Unit]
 
[Unit]
Description=firewall
+
Description=My Miscellaneous Service
After=network.target syslog.target
+
After=network.target
  
 
[Service]
 
[Service]
RemainAfterExit=yes
+
Type=simple
ExecStart=/usr/local/sbin/firewall start
+
User=xinux
ExecStop=/usr/local/sbin/firewall stop
+
WorkingDirectory=/home/xinux/share
User=root
+
ExecStart=/bin/python3 -m http.server
 +
Restart=on-abort
  
 
[Install]
 
[Install]
Zeile 39: Zeile 34:
 
</pre>
 
</pre>
  
=Aktivieren=
+
;Aktivieren
 
*systemctl daemon-reload
 
*systemctl daemon-reload
*systemctl enable firewall.service
+
*systemctl enable simple-http.service
*systemctl start firewall.service
+
*systemctl start simple-http.service
==Set Target==
+
 
*systemctl -f enable multi-user.target
+
;Logs lesen
*systemctl -f enable graphical.target
+
*journalctl -fu simple-http
==Get Default Target==
+
 
 +
=Starten eines Service=
 +
*systemctl start simple-http
 +
 
 +
=Stoppen eines Service=
 +
*systemctl stop simple-http
 +
 
 +
=Restarten eines Service=
 +
*systemctl restart simple-http
 +
 
 +
=Aktivieren eines Service=
 +
*systemctl enable simple-http
 +
 
 +
=Deaktivieren eines Service=
 +
*systemctl disable simple-http
 +
 
 +
=Status eines Service=
 +
*systemctl status simple-http
 +
 
 +
=Set Default Target=
 +
*systemctl set-default multi-user.target
 +
*systemctl set-default graphical.target
 +
 
 +
=Get Default Target=
 
*systemctl get-default
 
*systemctl get-default
graphical.target
 
==Changing Target==
 
*systemctl isolate  multi-user.target
 
  
==Set Default Target==
+
=Changing Target=
*systemctl set-default  multi-user.target
+
*systemctl isolate multi-user.target
  
==Show Targets==
+
=Show Targets=
*systemctl list-units --type target  
+
*systemctl list-units --type target
 
<pre>
 
<pre>
 
UNIT                        LOAD  ACTIVE SUB    DESCRIPTION
 
UNIT                        LOAD  ACTIVE SUB    DESCRIPTION
Zeile 65: Zeile 80:
 
...
 
...
 
</pre>
 
</pre>
 +
=Aufgaben=
 +
*[[Systemctl kurz und knapp Aufgaben]]

Aktuelle Version vom 12. November 2025, 16:34 Uhr

systemd Crashkurs

  • systemd ist das Init-System moderner Linux-Distributionen.
  • Es startet und überwacht Dienste, verwaltet Abhängigkeiten und ermöglicht paralleles Starten von Prozessen.
  • Alle Meldungen und Statusinformationen werden zentral durch den Journal-Dienst (journald) erfasst.
  • Über journalctl können Logs angezeigt, gefiltert und in Echtzeit verfolgt werden.
  • systemd ersetzt die klassischen /etc/init.d-Skripte und bietet eine einheitliche Verwaltung von Diensten, Sockets, Mounts und Systemzuständen (Targets).

Listing aller Services

  • systemctl --type=service

Logging eines Dienstes

  • journalctl -u ssh

Logging eines Dienstes fortlaufend

  • journalctl -f -u ssh

Eigenen Service Unit erstellen

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

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

[Install]
WantedBy=multi-user.target
Aktivieren
  • systemctl daemon-reload
  • systemctl enable simple-http.service
  • systemctl start simple-http.service
Logs lesen
  • journalctl -fu simple-http

Starten eines Service

  • systemctl start simple-http

Stoppen eines Service

  • systemctl stop simple-http

Restarten eines Service

  • systemctl restart simple-http

Aktivieren eines Service

  • systemctl enable simple-http

Deaktivieren eines Service

  • systemctl disable simple-http

Status eines Service

  • systemctl status simple-http

Set Default Target

  • systemctl set-default multi-user.target
  • systemctl set-default graphical.target

Get Default Target

  • systemctl get-default

Changing Target

  • systemctl isolate multi-user.target

Show Targets

  • systemctl list-units --type target
UNIT                        LOAD   ACTIVE SUB    DESCRIPTION
basic.target                loaded active active Basic System
bluetooth.target            loaded active active Bluetooth
ceph-mds.target             loaded active active ceph target allowing to start/stop all ceph-mds@.service instances at once
ceph-mon.target             loaded active active ceph target allowing to start/stop all ceph-mon@.service instances at once
...

Aufgaben