Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1: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
lpi1:systemd [2015/06/09 10:07]
ingo_wichmann [journalctl]
lpi1:systemd [2017/11/20 12:42]
ingo_wichmann [Dienste starten und eintragen]
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/​...'' ​<- (höchste Priorität) Hier dürfen sich Admins austoben 
-  ​''/​etc/​systemd/​system/*.service''​+  - ''​/​run/​systemd/​...''​ <- dynamisch aus systemd 
 +  - ''​{/usr,}/​lib/​systemd/​system/​...''​: aus der Paketverwaltung,​ nicht anfassen. 
 +  ​''​{/usr,}/lib/​systemd/​system-preset''​: aus der Paketverwaltung,​ nicht anfassen.
  
 systemd ist aber auch weiterhin kompatibel zu den aus [[init|sysVinit]] bekannten Startskripten in  systemd ist aber auch weiterhin kompatibel zu den aus [[init|sysVinit]] bekannten Startskripten in 
   * ''/​etc/​init.d/''​   * ''/​etc/​init.d/''​
 +
 +==== Systemd Architektur ====
 +  * ''​systemd-hostnamed''​ --> ''​hostnamectl''​
 +  * ''​systemd-machined''​ --> ''​machinectl''​
 +  * ''​systemd-journald''​ --> ''​journalctl''​
 +  * ''​systemd-localed''​ --> ''​localectl''​
 +  * ''​systemd-logind''​ --> ''​loginctl''​
 +  * ''​systemd-shutdownd''​ --> ''​shutdown''​
 +  * ''​systemd-timedated''​ --> ''​timedatectl''​
 +  * 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 52:
 == systemd nativ == == systemd nativ ==
   systemctl enable dienst.service   systemctl enable dienst.service
 +  systemctl reenable dienst.service
  
 == sysVinit kompatibel == == sysVinit kompatibel ==
Zeile 33: Zeile 63:
 == 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 40: Zeile 88:
 == sysVinit kompatibel == == sysVinit kompatibel ==
   chkconfig dienst off   chkconfig dienst off
 +
 +=== Dienst maskieren ===
 +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 service
 +  systemctl is-active 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 ​--a -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 Units (Serices, ...) eines Targets anzeigen == 
 +  systemctl list-dependencies graphical.target 
 + 
 +===== Startoptionen eines Dienstes ändern ===== 
 +  cp -a /​lib/​systemd/​system/​dienst.service /​etc/​systemd/​system/​ 
 +  vim /​etc/​systemd/​system/​dienst.service 
 + 
 +Besser 
 +  systemctl edit dienst.service 
 +oder (für eigene units) 
 +  systemctl edit --full dienst.service 
 + 
 + 
 +Änderungen anzeigen: 
 +  systemd-delta 
 + 
 +Änderungen aktivieren:​ 
 +  systemctl daemon-reload 
 + 
 +Dienst neu starten: 
 +  systemctl restart dienst 
 + 
 +===== Journald ===== 
 +  * [[journald]]
  
-alle Felder aufschlüsseln +===== Logind ===== 
-  ​journalctl ​-o verbose+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>​
  
-seit dem letztem Boot +===== Weitere Befehle und Subsysteme ===== 
-  ​journalctl ​-b+  ​* [[Analyse]] 
 +  * [[Snapshots]] 
 +  * [[Systemd-Prozesse]] 
 +  * [[Systemd-Resourcenkontrolle]]
  
-Meldungen eines bestimmten Dienstes (seit dem letzten Booten ausführlich mit catalog) +== Powersave verhindern == 
-  ​journalctl _SYSTEMD_UNIT=sshd.service -b -x+  ​systemd-inhibit <cmd>
  
-Meldungen eines bestimmtes Programms/​Binaries/​Dienstes:​ +== Virtualisierung erkennen == 
-  ​journalctl /​usr/​sbin/​dhcpd+  ​systemd-detect-virt
  
-===== weitere Befehle ​===== +==== *.ctl ==== 
-alle von systemd verwalteten Prozesse anzeigen: +  * [[loginctl]] 
-  ​systemd-cgls+  * [[localectl]] 
 +  * [[hostnamectl]] 
 +  * [[timedatectl]] 
 +   
 +===== Beispiele ​===== 
 +  ​* [[Systemd Service Unit Files]]
  
 +===== Doku =====
 +  * [[https://​cre.fm/​cre209-das-linux-system|CRE Interview mit Lennart]]
lpi1/systemd.txt · Zuletzt geändert: 2021/10/27 12:47 (Externe Bearbeitung)