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 [2015/06/09 10:21]
127.0.0.1 Externe Bearbeitung
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 ===== 
-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 
 + 
 +=== 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 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 33: 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 38: 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
  
-===== 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+Syntax prüfen: 
 +  systemd-analyze verify dienst.service 
 + 
 +Änderungen anzeigen: 
 +  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 outI 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)]]
  
-===== weitere Befehle ===== +----
-alle von systemd verwalteten 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