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 [2015/06/28 21:25]
ingo_wichmann
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 ===== 
-Die native system ​Konfiguration ​liegt in +3 Ebenen der Konfiguration ​von Units:
-  * ''/​lib/​systemd/​system/​*.service'',​ ''/​usr/​lib/​systemd/​system/​*.service''​ und +
-  * ''/​etc/​systemd/​system/​*.service''​+
  
-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 == 
 +  systemctl set-default graphical.target 
 + 
 +== Das Standard-Boot-Target anzeigen == 
 +  systemctl get-default 
 +oder 
 +  readlink /​etc/​systemd/​system/​default.target
  
 ==== Dienste starten und eintragen ==== ==== Dienste starten und eintragen ====
Zeile 23: Zeile 78:
 == 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 33: Zeile 86:
 == 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 38: Zeile 109:
   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
  
-===== journalctl ===== 
-gleich ans Ende springen 
-  journalctl -e 
  
-follow file mit allem und catalog +=== Targets === 
-  ​journalctl ​---x+== 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 Felder aufschlüsseln +== alle Units (Serices, ...) eines Targets anzeigen == 
-  ​journalctl ​-o verbose+  ​systemctl list-dependencies graphical.target
  
-seit dem letztem Boot +===== Startoptionen eines Dienstes ändern ===== 
-  ​journalctl ​-b+  ​cp -a /​lib/​systemd/​system/​dienst.service /​etc/​systemd/​system/​ 
 +  vim /​etc/​systemd/​system/​dienst.service
  
-==== Meldungen eines bestimmten Dienstes ==== +Besser 
-  ​journalctl _SYSTEMD_UNIT=ssh.service +  ​systemctl edit dienst.service 
-oder +oder (für eigene units) 
-  ​journalctl ​-u ssh.service +  ​systemctl edit --full dienst.service
-oder +
-  journalctl /​usr/​sbin/​sshd+
  
-==== Größe beschränken ​==== +Syntax prüfen: 
-''/​etc/​systemd/​journald.conf''​ : +  systemd-analyze verify dienst.service 
-<file+ 
-SystemMaxUse=100M +Änderungen anzeigen: 
-SystemKeepFree=1G+  systemd-delta 
 + 
 +Änderungen aktivieren (nicht notwendig bei ''​edit''​) 
 +  systemctl daemon-reload 
 + 
 +Dienst neu starten: 
 +  systemctl restart dienst 
 + 
 +===== Journald ===== 
 +  * [[journald]] 
 + 
 +===== Logind ===== 
 +systemd version 230: 
 +Now you can no longer expect a long running background processes to 
 +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>​ </​file>​
  
-===== weitere ​Befehle ===== +===== Weitere ​Befehle ​und Subsysteme ​===== 
-alle von systemd verwalteten ​Prozesse ​anzeigen: +  * [[Analyse]] 
-  systemd-cgls+  * [[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)]] 
 + 
 +----
  
 +  * [[https://​cre.fm/​cre209-das-linux-system|CRE Interview mit Lennart]]
admin_grundlagen/systemd.1435526706.txt.gz · Zuletzt geändert: 2015/06/28 21:25 von ingo_wichmann