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
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:systemd [2016/03/14 14:37]
stefan_miethke
admin_grundlagen:systemd [2022/04/22 13:48]
ingo_wichmann [Beispiele]
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
  
-Das Standard-Boot-Target ändern+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 
 + 
 +=== Standard Target === 
 +== Das Standard-Boot-Target ändern ​==
   systemctl set-default graphical.target   systemctl set-default graphical.target
  
-Das Standard-Boot-Target anzeigen+== Das Standard-Boot-Target anzeigen ​==
   systemctl get-default   systemctl get-default
 oder oder
Zeile 32: Zeile 77:
 == systemd nativ == == systemd nativ ==
   systemctl enable dienst.service   systemctl enable dienst.service
- +  systemctl reenable ​dienst.service
-== sysVinit kompatibel == +
-  chkconfig ​dienst ​on+
  
 === Dienst sofort, einmalig beenden === === Dienst sofort, einmalig beenden ===
Zeile 42: Zeile 85:
 == sysVinit kompatibel == == sysVinit kompatibel ==
   service dienst stop   service dienst stop
 +
 +=== Dienst restart ===
 +== systemd nativ ==
 +  systemctl restart dienst.service
 +== Nur starten, wenn der Dienst bereits aktiv ist ==
 +  systemctl try-restart dienst.service
 +
 +== sysVinit kompatibel ==
 +  service dienst restart
 +
 +=== Dienst neu laden ===
 +== systemd nativ ==
 +  systemctl reload dienst.service
 +  systemctl reload-or-restart dienst.service
 +  systemctl reload-or-try-restart dienst.service
 +
 +== sysVinit kompatibel ==
 +  service dienst reload
  
 === Dienst beim Booten nicht starten === === Dienst beim Booten nicht starten ===
Zeile 47: Zeile 108:
   systemctl disable dienst.service   systemctl disable dienst.service
  
-== sysVinit kompatibel ​== +=== Dienst maskieren ​=== 
-  ​chkconfig ​dienst ​off+dann kann er überhaupt nicht mehr gestartet werden 
 +  systemctl mask dienst.service 
 +  ​systemctl unmask ​dienst.service
  
 === Dienste anzeigen === === Dienste anzeigen ===
 == systemd nativ == == systemd nativ ==
   systemctl list-units -t service   systemctl list-units -t service
 +  systemctl list-units --type service --state=failed --all
 +  systemctl list-unit-files -t service
 +  systemctl is-enabled dienst.service
 +  systemctl is-active dienst.service
  
 == sysVinit kompatibel ​ == == sysVinit kompatibel ​ ==
   service --status-all   service --status-all
 +
 +
 +=== Targets ===
 +== auflisten ==
 +  systemctl --type=target
 +== isolieren ==
 +alle anderen Targets beenden
 +  systemctl isolate rescue.target
 +  systemctl rescue
 +  systemctl emergency
 +  systemctl single
 +  systemctl halt
 +  systemctl poweroff
 +  systemctl reboot
 +  systemctl suspend
 +  systemctl hibernate
 +  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 70: Zeile 165:
   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.txt · Zuletzt geändert: 2023/02/15 16:33 von ingo_wichmann