Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemd

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:systemd [2015/07/01 16:57] – [weitere Befehle] ingo_wichmannadmin_grundlagen:systemd [2023/02/15 16:33] (aktuell) – [Systemd Architektur] ingo_wichmann
Zeile 1: Zeile 1:
 ====== systemd ====== ====== systemd ======
-===== systemd vs. SysVinit ===== 
-==== Dienste steuern ===== 
-^ Funktion ^ SysVinit ^ systemd ^ 
-|dienst starten| 
-  service dienst start 
-|  
-  systemctl start dienst 
-| 
-|dienst stoppen| 
-  service dienst stop 
-| 
-  systemctl stop dienst 
-| 
-|dienst TERM Signal schicken|  | 
-  systemctl kill dienst 
-| 
-|dienst prüfen| 
-  service dienst status 
-|  
-  systemctl status dienst 
-| 
-|dienst neu starten| 
-  service dienst restart 
-| 
-  systemctl restart dienst 
-| 
-|dienst neu laden| 
-  service dienst reload 
-| 
-  systemctl reload dienst 
-| 
-|dienst beim Booten starten| 
-  chkconfig dienst on 
-| 
-  systemctl enable dienst 
-| 
-|dienst beim Booten nicht starten| 
-  chkconfig dienst off 
-| 
-  systemctl disable dienst 
-| 
-|Wird der dienst beim Booten gestartet?| 
-  chkconfig dienst 
-| 
-  systemctl is-enabled dienst 
-| 
-|Abhängigkeiten anzeigen| | 
-  systemctl list-dependencies dienst 
-| 
-==== Runlevel ==== 
-^ Kurzbefehl/Funktion ^ SysVinit ^ systemd ^ 
-| 
-  halt 
-| 
-  init 0 
-| 
-  systemctl isolate halt.target 
-| 
-| 
-  poweroff 
-| | 
-  systemctl isolate poweroff.target 
-| 
-| | 
-  init 1 
-| 
-  systemctl isolate rescue.target 
-| 
-| 
-  reboot 
-| 
-  init 6 
-| 
-  systemctl reboot 
-| 
- 
 ===== erste init-Skripte ===== ===== erste init-Skripte =====
 Durch Konfigurationsdateien ersetzt. Siehe http://0pointer.de/blog/projects/the-new-configuration-files und  Durch Konfigurationsdateien ersetzt. Siehe http://0pointer.de/blog/projects/the-new-configuration-files und 
 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 99: 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 109: 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 114: 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 ===== 
-[[journald]] 
-===== weitere Befehle ===== 
-von systemd verwaltete Prozesse anzeigen: 
-  systemd-cgls 
  
 +=== 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 =====
 +  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
 +
 +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 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)]]
 +
 +----
 +
 +  * [[https://cre.fm/cre209-das-linux-system|CRE Interview mit Lennart]]
admin_grundlagen/systemd.1435769845.txt.gz · Zuletzt geändert: 2015/07/01 16:57 von ingo_wichmann