Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemd

Dies ist eine alte Version des Dokuments!


systemd

erste init-Skripte

Units

3 Ebenen der Konfiguration von Units:

  1. /lib/systemd/* und /usr/lib/systemd/*: (niedrigste Priorität) aus der Paketverwaltung, nicht anfassen.
  2. /run/systemd/*: dynamisch von systemd erzeugt
  3. /etc/systemd/*: (höchste Priorität) Hier dürfen sich Admins austoben

Unit-Files:

  • Defaults des upstream-Projekts
    • {/usr,}/lib/systemd/system-preset/
  • Defaults der Distribution
    • {/usr,}/lib/systemd/system/…
    • {/usr,}/lib/systemd/system/….d/*.conf
  • 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 systemd ist aber auch weiterhin kompatibel zu den aus sysVinit bekannten Startskripten in * /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 ==== === Dienst sofort, einmalig starten === == systemd nativ == systemctl start dienst.service == sysVinit kompatibel == service dienst start === Dienst immer beim Booten starten === == systemd nativ == systemctl enable dienst.service systemctl reenable dienst.service == sysVinit kompatibel == chkconfig dienst on === Dienst sofort, einmalig beenden === == systemd nativ == systemctl stop dienst.service == sysVinit kompatibel == 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 === == systemd nativ == systemctl disable dienst.service == sysVinit kompatibel == chkconfig dienst off === Dienst maskieren === dann kann er überhaupt nicht mehr gestartet werden systemctl mask dienst.service systemctl unmask dienst.service === Dienste anzeigen === == systemd nativ == 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 == service –status-all === 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 Änderungen anzeigen: systemd-delta Änderungen aktivieren: 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
/etc/systemd/logind.conf
KillUserProcesses=no

Weitere Befehle und Subsysteme

Powersave verhindern
systemd-inhibit <cmd>
Virtualisierung erkennen
systemd-detect-virt

*.ctl

Beispiele

Doku

admin_grundlagen/systemd.1516022664.txt.gz · Zuletzt geändert: 2018/01/15 13:24 von ingo_wichmann