Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemd

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:systemd [2016/03/14 15:25]
stefan_miethke
admin_grundlagen:systemd [2023/02/15 16:33] (aktuell)
ingo_wichmann [Systemd Architektur]
Zeile 4: Zeile 4:
 http://​fedoraproject.org/​wiki/​Systemd http://​fedoraproject.org/​wiki/​Systemd
  
-===== runlevel Start-Skripte ​=====+===== Units =====
 3 Ebenen der Konfiguration von Units: 3 Ebenen der Konfiguration von Units:
-  - ''/​etc/​systemd/​system/​...''​ <- (höchste Priorität) Hier dürfen sich Admins austoben 
-  - ''/​run/​systemd/​...''​ <- dynamisch aus systemd 
-  - ''​{/​usr}/​lib/​systemd/​system/​...'':​ aus der Paketverwaltung,​ nicht anfassen. 
  
-systemd ​ist aber auch weiterhin kompatibel zu den aus [[init|sysVinit]] bekannten Startskripten in  +  - ''/​lib/​systemd/​*''​ und ''/​usr/​lib/​systemd/​*'':​ (niedrigste Priorität) ​aus der Paketverwaltung,​ nicht anfassen. 
-  * ''/​etc/​init.d/''​+  ​- ''/​run/​systemd/​*'':​ dynamisch von systemd erzeugt 
 +  - ''/​etc/​systemd/*''​: (höchste Priorität) Hier dürfen sich Admins austoben
  
 +Unit-Files:
 + 
 +  * Defaults der Distribution
 +    * ''​{/​usr,​}/​lib/​systemd/​system/​...''​
 +    * ''​{/​usr,​}/​lib/​systemd/​system/​….d/​*.conf''​
 +  * Voreinstellungen,​ siehe ''​man systemd.preset''​
 +    * ''​{/​usr,​}/​lib/​systemd/​system-preset/''​
 +  * temporär, dynamisch von systemd erzeugt
 +    * ''/​run/​systemd/​...''​
 +    * ''/​run/​systemd/​….d/​*.conf''​
 +  * Hier dürfen sich Admins austoben
 +    * ''/​etc/​systemd/​system/​...''​
 +    * ''/​etc/​systemd/​system/​….d/​*.conf''​
 +
 +Übersicht Unit-Files:
 +  systemctl list-unit-files
 +
 +Übersicht Dienste:
 +  systemctl list-unit-files --type service
 +
 +systemd ist aber auch weiterhin kompatibel zu den aus [[init|sysVinit]] bekannten Startskripten in  ''/​etc/​init.d/''​
 +
 +==== Systemd Architektur ====
 +=== ctl-Befehle ===
 +  * ''​systemd-hostnamed''​ --> ''​hostnamectl''​
 +  * ''​systemd-machined''​ --> ''​machinectl''​
 +  * ''​systemd-journald''​ --> ''​journalctl''​
 +  * ''​systemd-localed''​ --> ''​localectl''​
 +  * ''​systemd-logind''​ --> ''​loginctl''​
 +  * ''​systemd-shutdownd''​ --> ''​shutdown''​
 +  * ''​systemd-timedated''​ --> ''​timedatectl''​
 +  * ''​bootctl''​
 +  * ''​busctl''​
 +  * ''​networkctl''​
 +  * ''​resolvectl''​
 +
 +=== Systemd Unit Arten ===
 +  * service: von Systemd gestartete Anwendungen
 +  * socket: Socket Aktivierung
 +  * scopes: ausserhalb von systemd gestartete Anwendungen
 +  * slice: Resourcen für Prozessgruppen
 +  * path: Pfad Aktivierung
 +  * mount: Mountpoints (teilweise aus ''/​etc/​fstab''​)
 +  * automount: automatische Mountpoints
 +  * target: Gruppen von Units
 +  * timer: Service-Units zeitgesteuert starten
 +
 +=== Standard Target ===
 == Das Standard-Boot-Target ändern == == Das Standard-Boot-Target ändern ==
   systemctl set-default graphical.target   systemctl set-default graphical.target
Zeile 33: Zeile 79:
   systemctl enable dienst.service   systemctl enable dienst.service
   systemctl reenable dienst.service   systemctl reenable dienst.service
- 
-== sysVinit kompatibel == 
-  chkconfig dienst on 
  
 === Dienst sofort, einmalig beenden === === Dienst sofort, einmalig beenden ===
Zeile 65: Zeile 108:
 == systemd nativ == == systemd nativ ==
   systemctl disable dienst.service   systemctl disable dienst.service
- 
-== sysVinit kompatibel == 
-  chkconfig dienst off 
  
 === Dienst maskieren === === Dienst maskieren ===
Zeile 77: Zeile 117:
 == systemd nativ == == systemd nativ ==
   systemctl list-units -t service   systemctl list-units -t service
-  systemctl list-units -service --all+  systemctl list-units --type service ​--state=failed ​--all
   systemctl list-unit-files -t service   systemctl list-unit-files -t service
 +  systemctl is-enabled dienst.service
 +  systemctl is-active dienst.service
  
 == sysVinit kompatibel ​ == == sysVinit kompatibel ​ ==
Zeile 99: Zeile 141:
   systemctl hibernate   systemctl hibernate
   systemctl hybrid-sleep   systemctl hybrid-sleep
 +
 +== alle Units (Serices, ...) eines Targets anzeigen ==
 +  systemctl list-dependencies graphical.target
  
 ===== Startoptionen eines Dienstes ändern ===== ===== Startoptionen eines Dienstes ändern =====
   cp -a /​lib/​systemd/​system/​dienst.service /​etc/​systemd/​system/​   cp -a /​lib/​systemd/​system/​dienst.service /​etc/​systemd/​system/​
   vim /​etc/​systemd/​system/​dienst.service   vim /​etc/​systemd/​system/​dienst.service
 +
 +Besser
 +  systemctl edit dienst.service
 +oder (für eigene units)
 +  systemctl edit --full dienst.service
 +
 +Syntax prüfen:
 +  systemd-analyze verify dienst.service
  
 Änderungen anzeigen: Änderungen anzeigen:
   systemd-delta   systemd-delta
  
-Änderungen aktivieren:+Änderungen aktivieren ​(nicht notwendig bei ''​edit''​)
   systemctl daemon-reload   systemctl daemon-reload
  
Zeile 113: Zeile 166:
   systemctl restart dienst   systemctl restart dienst
  
-===== journalctl ​===== +===== Journald ​===== 
-[[journald]] +  ​* ​[[journald]] 
-===== weitere ​Befehle ===== + 
-==== ToDo ==== +===== Logind ===== 
-  ​timedatectl +systemd version 230: 
-  loginctl +Now you can no longer expect a long running background processes to 
-  hostnamectl+continue after logging out. I believe this breaks the expecations of 
 +many users. For example, you can no longer start a [[screen]] or [[tmux]] 
 +session, log out, and expect to come back to it.  
 +compiling systemd with ''​--without-kill-user-processes''​ or by setting  
 +<file txt /​etc/​systemd/​logind.conf>​ 
 +KillUserProcesses=no 
 +</​file>​ 
 + 
 +===== Weitere ​Befehle ​und Subsysteme ​===== 
 +  * [[Analyse]] 
 +  * [[Snapshots]] 
 +  * [[Systemd-Prozesse]] 
 +  * [[Systemd-Resourcenkontrolle]] 
 +  * [[Systemd-Security]] 
 + 
 +== Powersave verhindern ​== 
 +  systemd-inhibit <​cmd>​ 
 + 
 +== Virtualisierung erkennen ​== 
 +  ​systemd-detect-virt 
 + 
 +==== *.ctl ==== 
 +  ​* [[loginctl]] 
 +  ​* [[localectl]] 
 +  * [[hostnamectl]] 
 +  * [[timedatectl]] 
 +   
 +===== Beispiele ===== 
 +  * [[Systemd Service Unit Files]] 
 +  * [[Systemd Path Unit Files]] 
 + 
 +===== Doku ===== 
 +  * [[https://​www.freedesktop.org/​wiki/​Software/​systemd/​|Offizielle Doku auf freedesktop]] 
 +  * [[http://​0pointer.net/​blog/​|PID 1 Blog von Poettering (nicht verbindlich)]]
  
-von systemd verwaltete Prozesse anzeigen: +----
-  systemd-cgls+
  
 +  * [[https://​cre.fm/​cre209-das-linux-system|CRE Interview mit Lennart]]
admin_grundlagen/systemd.1457969116.txt.gz · Zuletzt geändert: 2016/03/14 15:25 von stefan_miethke