Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:systemd [2016/03/14 15:32] stefan_miethke |
admin_grundlagen:systemd [2021/10/27 12:35] ingo_wichmann [Startoptionen eines Dienstes ändern] |
||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
===== Units ===== | ===== 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 | ||
+ | |||
+ | 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 ==== | ==== Systemd Architektur ==== | ||
* ''systemd-hostnamed'' --> ''hostnamectl'' | * ''systemd-hostnamed'' --> ''hostnamectl'' | ||
- | * ''systemd-machined'' | + | * ''systemd-machined'' --> ''machinectl'' |
- | * ''systemd-journald'' --> ''localectl'' | + | * ''systemd-journald'' --> ''journalctl'' |
- | * ''systemd-localed'' | + | * ''systemd-localed'' --> ''localectl'' |
- | * ''systemd-logind'' | + | * ''systemd-logind'' --> ''loginctl'' |
* ''systemd-shutdownd'' --> ''shutdown'' | * ''systemd-shutdownd'' --> ''shutdown'' | ||
* ''systemd-timedated'' --> ''timedatectl'' | * ''systemd-timedated'' --> ''timedatectl'' | ||
Zeile 25: | Zeile 45: | ||
* socket: Socket Aktivierung | * socket: Socket Aktivierung | ||
* scopes: ausserhalb von systemd gestartete Anwendungen | * scopes: ausserhalb von systemd gestartete Anwendungen | ||
- | * slice: Gruppe von Prozessen | + | * slice: Resourcen für Prozessgruppen |
* path: Pfad Aktivierung | * path: Pfad Aktivierung | ||
* mount: Mountpoints (teilweise aus ''/etc/fstab'') | * mount: Mountpoints (teilweise aus ''/etc/fstab'') | ||
* automount: automatische Mountpoints | * automount: automatische Mountpoints | ||
+ | * target: Gruppen von Units | ||
=== Standard Target === | === Standard Target === | ||
Zeile 95: | Zeile 116: | ||
== systemd nativ == | == systemd nativ == | ||
systemctl list-units -t service | systemctl list-units -t service | ||
- | systemctl list-units -t service --all | + | systemctl list-units --type service --state=failed --all |
systemctl list-unit-files -t service | systemctl list-unit-files -t service | ||
+ | systemctl is-enabled dienst.service | ||
+ | systemctl is-active dienst.service | ||
== sysVinit kompatibel == | == sysVinit kompatibel == | ||
Zeile 117: | Zeile 140: | ||
systemctl hibernate | systemctl hibernate | ||
systemctl hybrid-sleep | 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 131: | 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]] | ||
+ | |||
+ | ===== 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]] |