Man page - systemd(1)
Packages contas this manual
- systemd-ask-password-wall.path(8)
- journald@.conf(5)
- systemd-rfkill.service(8)
- systemd-pcrlock-secureboot-authority.service(8)
- org.freedesktop.locale1(5)
- systemd-journald-audit.socket(8)
- bootup(7)
- systemd-hostnamed(8)
- system.conf.d(5)
- os-release(5)
- systemd.exec(5)
- networkd.conf(5)
- systemd-hibernate-resume-generator(8)
- systemd-timedated.service(8)
- networkctl(1)
- systemd-fsck@.service(8)
- systemd-tmpfiles(8)
- systemd-inhibit(1)
- systemd.net-naming-scheme(7)
- systemd-tmpfiles-clean.timer(8)
- systemd-ssh-proxy(1)
- systemd-user-sessions(8)
- logind.conf(5)
- org.freedesktop.network1(5)
- systemd-networkd-wait-online.service(8)
- systemd.kill(5)
- systemd.time(7)
- systemd-ask-password(1)
- systemd.journal-fields(7)
- systemd-socket-proxyd(8)
- pstore.conf.d(5)
- systemd-networkd.service(8)
- systemd-pcrlock-firmware-code.service(8)
- systemd-storagetm.service(8)
- systemd-growfs-root.service(8)
- systemd-ask-password-wall.service(8)
- systemd-creds(1)
- systemd-remount-fs.service(8)
- journald.conf(5)
- systemd-confext.service(8)
- systemd-tty-ask-password-agent(1)
- systemd-binfmt(8)
- systemd-pcrlock-make-policy.service(8)
- systemd-timedated(8)
- systemd-journald.service(8)
- systemd-pcrlock-file-system.service(8)
- pam_systemd_loadkey(8)
- systemd-gpt-auto-generator(8)
- daemon(7)
- systemd-tpm2-setup(8)
- hostnamectl(1)
- systemd-sleep(8)
- systemd-pcrmachine.service(8)
- systemd-bsod.service(8)
- systemd.unit(5)
- systemd-sysctl.service(8)
- systemd-pstore(8)
- binfmt.d(5)
- systemd-network-generator(8)
- systemd-poweroff.service(8)
- systemd-umount(1)
- systemd-tpm2-generator(8)
- systemd-rfkill.socket(8)
- systemd-localed.service(8)
- systemd.path(5)
- systemd-cgls(1)
- journald.conf.d(5)
- systemd-journald@.service(8)
- systemd-sysusers.service(8)
- systemd-user.conf(5)
- systemd-pcrfs@.service(8)
- systemd-measure(1)
- systemd.offline-updates(7)
- systemd-logind(8)
- systemd-machine-id-setup(1)
- systemd-volatile-root.service(8)
- systemd.service(5)
- user@.service(5)
- systemd.target(5)
- systemd-udev-settle.service(8)
- systemd-fsck(8)
- systemd-fsck-usr.service(8)
- user-runtime-dir@.service(5)
- systemd-user-runtime-dir(5)
- systemd-binfmt.service(8)
- systemd-initctl.socket(8)
- systemd-fsck-root.service(8)
- systemd-debug-generator(8)
- file-hierarchy(7)
- systemd-networkd-wait-online(8)
- systemd-volatile-root(8)
- systemd-reboot.service(8)
- systemd-hostnamed.service(8)
- networkd.conf.d(5)
- initrd-release(5)
- systemd.index(7)
- systemd-shutdown(8)
- systemd-update-done.service(8)
- systemd-system-update-generator(8)
- localectl(1)
- systemd.v(7)
- systemd-pcrfs-root.service(8)
- systemd.image-policy(7)
- systemd-backlight@.service(8)
- systemd-battery-check(8)
- systemd-rc-local-generator(8)
- systemd-sysctl(8)
- systemd-kexec.service(8)
- extension-release(5)
- systemd-journald.socket(8)
- systemd-random-seed.service(8)
- systemd-tmpfiles-setup-dev-early.service(8)
- systemd-modules-load(8)
- systemd.network(5)
- systemd-getty-generator(8)
- systemd-storagetm(8)
- systemd.generator(7)
- systemd.special(7)
- systemd-tmpfiles-setup-dev.service(8)
- systemd-notify(1)
- systemd-suspend.service(8)
- localtime(5)
- systemd-journald-varlink@.socket(8)
- systemd-pcrphase.service(8)
- systemd-quotacheck.service(8)
- systemd-pcrlock-firmware-config.service(8)
- systemd-journald@.socket(8)
- systemd-halt.service(8)
- systemd-sysext.service(8)
- systemd-delta(1)
- 30-systemd-environment-d-generator(8)
- systemd-ask-password-console.service(8)
- systemd-confext(8)
- systemd-initctl.service(8)
- iocost.conf(5)
- systemd-logind.service(8)
- systemd-mkswap@.service(8)
- hostname(5)
- busctl(1)
- org.freedesktop.portable1(5)
- systemd-localed(8)
- systemd-id128(1)
- systemd-sleep.conf(5)
- systemd.environment-generator(7)
- systemd-growfs(8)
- systemd(1)
- systemd.device(5)
- systemd-firstboot(1)
- systemd-hibernate-clear.service(8)
- systemd.swap(5)
- tmpfiles.d(5)
- systemd-cat(1)
- systemd-random-seed(8)
- locale.conf(5)
- systemd-detect-virt(1)
- systemd-sysext(8)
- systemd.scope(5)
- systemd-growfs@.service(8)
- systemd-fstab-generator(8)
- systemd-escape(1)
- systemd-network-generator.service(8)
- systemd-tmpfiles-setup.service(8)
- systemd-tmpfiles-clean.service(8)
- sleep.conf.d(5)
- systemd-boot-check-no-failures(8)
- org.freedesktop.systemd1(5)
- systemd-suspend-then-hibernate.service(8)
- run0(1)
- systemd-mount(1)
- systemd.slice(5)
- systemd-user-sessions.service(8)
- systemd-makefs@.service(8)
- journalctl(1)
- systemd-makefs(8)
- systemd-stdio-bridge(1)
- systemd-ssh-generator(8)
- systemd-update-done(8)
- systemd-xdg-autostart-generator(8)
- systemd-soft-reboot.service(8)
- systemctl(1)
- org.freedesktop.machine1(5)
- systemd.timer(5)
- systemd-journald(8)
- systemd-bsod(8)
- systemd-tpm2-setup-early.service(8)
- systemd-hybrid-sleep.service(8)
- systemd-analyze(1)
- smbios-type-11(7)
- systemd-environment-d-generator(8)
- systemd-networkd-wait-online@.service(8)
- org.freedesktop.login1(5)
- systemd-rfkill(8)
- timedatectl(1)
- systemd-hibernate-resume(8)
- systemd-sysv-generator(8)
- kernel-install(8)
- systemd-sysusers(8)
- systemd.netdev(5)
- systemd-journald-dev-log.socket(8)
- systemd-vpick(1)
- machine-id(5)
- systemd-pcrphase-initrd.service(8)
- systemd.mount(5)
- systemd-remount-fs(8)
- systemd.socket(5)
- sysusers.d(5)
- systemd.directives(7)
- rc-local.service(8)
- systemd-run-generator(8)
- systemd-battery-check.service(8)
- systemd-pstore.service(8)
- capsule@.service(5)
- logind.conf.d(5)
- systemd-pcrlock-secureboot-policy.service(8)
- environment.d(5)
- systemd-pcrphase-sysinit.service(8)
- org.freedesktop.hostname1(5)
- modules-load.d(5)
- systemd.automount(5)
- systemd-firstboot.service(1)
- systemd-boot-check-no-failures.service(8)
- loginctl(1)
- systemd.syntax(7)
- systemd-initctl(8)
- kernel-command-line(7)
- systemd.preset(5)
- systemd-pcrlock-machine-id.service(8)
- systemd-run(1)
- systemd-system.conf(5)
- systemd-machine-id-commit.service(8)
- user.conf.d(5)
- systemd.system-credentials(7)
- pstore.conf(5)
- systemd-cgtop(1)
- sysctl.d(5)
- systemd-tpm2-setup.service(8)
- systemd-pcrextend(8)
- systemd-modules-load.service(8)
- systemd.pcrlock.d(5)
- systemd-networkd(8)
- systemd-socket-activate(1)
- systemd-path(1)
- systemd-backlight(8)
- org.freedesktop.timedate1(5)
- systemd-quotacheck(8)
- systemd.resource-control(5)
- systemd-ask-password-console.path(8)
- varlinkctl(1)
- systemd-ac-power(1)
- systemd-hibernate-resume.service(8)
- systemd.pcrlock(5)
- machine-info(5)
- systemd-hibernate.service(8)
- systemd-pcrlock(8)
apt-get install systemd
Available languages:
en fr zh_TW zh_CN deManual
| SYSTEMD(1) | systemd | SYSTEMD(1) |
BEZEICHNUNG
systemd, init - Systemd-System und Diensteverwalter
ÜBERSICHT
/usr/lib/systemd/systemd [OPTIONEN…]
init [OPTIONEN…] {BEFEHL}
BESCHREIBUNG
Systemd ist ein System- und Diensteverwalter für das Linux-Betriebssystem. Wird es beim Systemstart als erster Prozess (als PID 1) ausgeführt, agiert es als Init-System, das das System hochfährt und Dienste auf Anwendungsebene verwaltet. Für angemeldete Benutzer zum Starten ihrer Dienste werden separate Instanzen gestartet.
systemd wird normalerweise nicht direkt durch den Benutzer aufgerufen, sondern wird als Symlink /sbin/init installiert und während der frühen Systemstartphase ausgeführt. Die Benutzerverwalterinstanzen werden automatisch durch den Dienst user@.service(5) gestartet.
Für die Kompatibilität mit SysV wird das Programm, falls es init genannt und nicht der erste Prozess auf der Maschine ist (PID ist nicht 1), telinit ausführen und alle Befehlszeilenargumente unverändert weitergeben. Das bedeutet, dass init und telinit beim Aufruf von normalen Anmeldesitzungen größtenteils äquivalent sind. Siehe telinit(8) für weitere Informationen.
Systemd interpretiert die Konfigurationsdatei system.conf und die Dateien in Verzeichnissen system.conf.d, wenn es als Systeminstanz läuft. Wenn es als Benutzerinstanz läuft, interpretiert Systemd die Konfigurationsdatei user.conf und die Dateien in Verzeichnissen user.conf.d. Siehe systemd-system.conf(5) für weitere Informationen.
systemd enthält native Implementierungen verschiedener Programme, die als Teil des Systemstartprozesses ausgeführt werden müssen. Beispielsweise setzt es den Rechnernamen und konfiguriert das Loopback-Netzwerkgerät. Es richtet auch die verschiedenen API-Dateisysteme, wie /sys/, /proc/ und /dev/, ein und hängt sie ein.
systemd wird während der frühen Systemstartphase auch die Uhr zurücksetzen, falls sie anscheinend falls gesetzt ist. Siehe den nachfolgenden Abschnitt »Systemuhr-Epoch«.
Beachten Sie, dass einige, aber nicht alle, durch Systemd bereitgestellte Schnittstellen von der Schnittstellenportierungs und -stabilitätszusage[1] abgedeckt sind.
Das D-Bus-API von systemd wird in org.freedesktop.systemd1(5) und org.freedesktop.LogControl1(5) beschrieben.
Systeme, die Systemd in einem Container oder in einer Initrd-Umgebung aufrufen, sollten die Spezifikation Container-Schnittstelle[2] bzw. initrd-Schnittstelle[3] implementieren.
UNITS
Systemd stellt ein Abhängigkeitssystem zwischen verschiedenen Einheiten namens »Units« in 11 verschiedenen Typen bereit. Units kapseln verschiedene Objekte, die für den Systemstart und -betrieb relevant sind. Der Großteil der Units wird in Unit-Konfigurationsdateien, deren Syntax und grundlegenden Menge an Optionen in systemd.unit(5) beschrieben ist, konfiguriert. Einige Units werden allerdings automatisch aus anderen Konfigurationsdateien, dynamisch aus Systemzuständen oder programmatisch zur Laufzeit erstellt. Units können in einer Reihe von Zuständen sein, die in der nachfolgenden Tabelle beschrieben sind. Beachten Sie, dass die verschiedenen Unit-Typen eine Reihe von zusätzlichen Unterzuständen haben können, die auf die hier beschriebenen generalisierten Unit-Zustände abgebildet werden.
Tabelle 1. Unit-AKTIVITÄTS-Zustände
| Zustand | Beschreibung |
| active | Gestartet, gebunden, eingesteckt … abhängig vom Unit-Typ. |
| inactive | Gestoppt, losgelöst, ausgesteckt … abhängig vom Unit-Typ. |
| failed | Ähnlich zu inactive, aber die Unit schlug irgendwie fehl (Prozess lieferte beim Exit einen Fehler-Code, stürzte ab, eine Aktion ist in eine Zeitüberschreitung gelaufen oder nach zu vielen Neustarts). |
| activating | Änderung von inactive auf active. |
| deactivating | Änderung von active auf inactive. |
| maintenance | Unit ist inactive und eine Wartungsaktion läuft derzeit. |
| reloading | Unit ist active und sie lädt ihre Konfiguration neu. |
| refreshing | Unit ist active und es wird eine neue Einhängung in ihrem Namensraum aktiviert. |
Die folgenden Unit-Typen sind verfügbar:
Units werden wie ihre Konfigurationsdateien benannt. Einige Units habe besondere Semantiken. Eine detaillierte Liste ist in systemd.special(7) verfügbar.
Systemd kennt verschiedene Arten von Abhängigkeiten, einschließlich positiven und negativen Bedingungsabhängigkeiten (d.h. Requires= und Conflicts=) sowie Ordnungsabhängigkeiten (After= und Before=). Wohlgemerkt: Ordnungs- und Bedingungsabhängigkeiten sind orthogonal. Falls zwischen zwei Units nur eine Bedingungsabhängigkeit (z.B. foo.service bedingt bar.service) aber keine Ordnungsabhängigkeit (z.B. foo.service nach bar.service) existiert und beide zum Start angefragt werden, werden sie parallel gestartet. Es ist ein häufiges Muster, dass sowohl Bedingungs- als auch Ordnungsabhängigkeiten zwischen zwei Units angelegt werden. Beachten Sie auch, dass die Mehrzahl der Abhängigkeiten von Systemd implizit erstellt und verwaltet werden. In den meisten Fällen sollte es unnötig sein, zusätzliche Abhängigkeiten manuell zu deklarieren, allerdings ist dies möglich.
Anwendungsprogramme und Units (über Abhängigkeiten) können Statusänderungen von Units erbitten. In Systemd werden diese Anfragen als »Aufträge« gekapselt und in einer Aufträgewarteschlange verwaltet. Aufträge können erfolgreich sein und fehlschlagen, ihre Ausführungsreihenfolge basiert auf den Ordnungsabhängigkeiten der Units, für die sie eingeplant wurden.
Beim Systemstart aktiviert Systemd die Ziel-Unit default.target, deren Aufgabe es ist, die bei-Systemstart-Dienste und andere bei-Systemstart-Units zu aktivieren, indem sie sie mittels Abhängigkeiten hereinzieht. Normalerweise ist der Unit-Name nur ein Alias (Symlink) für entweder graphical.target (für vollfunktionale Systemstarts in die UI) oder multi-user.target (für begrenzte, rein konsolenbasierte Systemstarts zur Verwendung in eingebetteten oder Server-Umgebungen oder ähnlichen, eine Untermenge von graphical.target). Es obliegt aber dem Administrator, sie als Alias zu jeder anderen Ziel-Unit zu konfigurieren. Siehe systemd.special(7) für Details über diese Ziel-Units.
Beim ersten Systemstart wird systemd Units gemäß der Voreinstellungs-Richtlinie aktivieren oder deaktivieren. Siehe systemd.preset(5) und »Semantik beim ersten Systemstart« in machine-id(5).
Systemd behält nur eine minimale Gruppe an Units im Speicher geladen. Konkret werden nur die Units im Speicher geladen gehalten, für die mindestens eine der nachfolgenden Bedingungen zutrifft:
Systemd wird automatisch und implizit Units von der Platte laden — falls sie noch nicht geladen sind — sobald eine Aktion für sie angefordert wird. Daher ist in vielerlei Hinsicht die Tatsache, ob eine Unit geladen ist oder nicht, für Clients unsichtbar. Verwenden Sie systemctl list-units --all, um eine vollumfängliche Liste aller derzeit geladenen Units zu erhalten. Jede Unit, für die eine der oben aufgeführten Bedingungen zutrifft, wird sofort entladen. Beachten Sie, dass beim Entladen einer Unit aus dem Speicher die Buchführungsdaten auch entfernt werden. Allerdings sind diese Daten im Allgemeinen nicht verloren, da ein Journal-Protokolleintrag erstellt wird, der die verbrauchten Ressourcen deklariert, wann immer eine Unit herunterfährt.
Prozesse, die Systemd startet, werden in einer privaten Systemd-Hierarchie in individuellen Control-Gruppen von Linux, die nach der Unit, zu der sie gehören, benannt sind, gelegt (siehe Control Groups v2[4] für weitere Informationen über Control-Gruppen oder kurz »cgroups«). Systemd verwendend dies, um Prozesse effektiv nachzuverfolgen. Control-Gruppen-Informationen werden im Kernel verwaltet und sind über die Dateisystemhierarchie (unterhalb von /sys/fs/cgroup/) oder über Werkzeuge wie systemd-cgls(1) oder ps(1) verfügbar. (ps xawf -eo pid,user,cgroup,args ist besonders nützlich, um alle Prozesse und die Systemd-Units, zu denen sie gehören, aufzulisten.)
Systemd ist zu einem großen Teil zu SysV kompatibel: SysV-Init-Skripte werden unterstützt und werden einfach als ein alternatives (wenn auch begrenztes) Konfigurationsdateiformat verstanden. Die SysV-Schnittstelle /dev/initctl wird bereitgestellt und Kompatibilitätsimplementierungen der verschiedenen SysV-Client-Werkzeuge sind verfügbar. Zusätzlich werden verschiedene etablierte Unix-Funktionalitäten wie /etc/fstab oder die Utmp-Datenbank unterstützt.
Systemd hat ein minimales Transaktionssystem: Falls eine Unit zum Start oder Herunterfahren aufgefordert wird, wird sie sich und alle Abhängigkeiten zu einer temporären Transaktion hinzufügen. Es wird dann nachweisen, dass die Transaktion konsistent ist (d.h. ob die Ordnung aller Units frei von Zyklen ist). Sollte dies nicht der Fall sein, wird Systemd versuchen, sie zu korrigieren und entfernt alle unwesentlichen Aufträge aus der Transaktion, die die Schleife entfernen könnten. Auch versucht Systemd, nicht wesentliche Aufträge in der Transaktion zu unterdrücken, die einen laufenden Dienst stoppen würden. Schließlich wird überprüft, ob die Aufträge der Transaktion Aufträgen widersprechen, die bereits in die Warteschlange eingereiht wurden, optional wird dann die Transaktion abgebrochen. Falls alles passt und die Transaktion konsistent in ihren Auswirkungen minimiert ist, wird sie mit bereits wartenden Aufträgen zusammengeführt und zu der Ausführungswarteschlange hinzugefügt. Effektiv bedeutet dies, dass Systemd vor der Ausführung einer angefragten Aktion überprüft, dass sie Sinn ergibt, sie falls möglich korrigiert und nur fehlschlägt, falls es wirklich nicht funktionieren kann.
Beachten Sie, dass Transaktionen unabhängig vom Zustand einer Unit zur Laufzeit erstellt werden. Wird daher beispielsweise ein Startauftrag für eine bereits gestartete Unit angefordert, wird er dennoch eine Transaktion erstellen und alle inaktiven Abhängigkeiten aufwecken (und gemäß der definierten Abhängigkeiten eine Weiterleitung zu anderen Aufträgen verursachen). Dies erfolgt, da der in die Warteschlange eingereihte Auftrag zum Zeitpunkt der Ausführung mit dem Zustand der Ziel-Unit verglichen und als erfolgreich und abgeschlossen markiert wird, wenn beide zutreffen. Allerdings zieht dieser Auftrag auch andere Abhängigkeiten aufgrund der definierten Beziehungen herein und führt daher in unserem Beispiel dazu, dass Start-Aufträge für jede dieser inaktiven Units auch in die Warteschlange eingereiht werden.
Units können dynamisch zum Systemstartzeitpunkt und zum Systemverwalter-Neuladezeitpunkt erstellt werden, beispielsweise basierend auf anderen Konfigurationsdateien oder auf von der Kernelbefehlszeile übergebenen Parametern. Für Details siehe systemd.generator(7).
VERZEICHNISSE
System-Unit-Verzeichnisse
Benutzer-Unit-Verzeichnisse
SysV-Init-Skripte-Verzeichnis
SysV-Runlevel-Linksammelverzeichnis
SIGNALE
Der Dienste wartet auf die Signale verschiedener UNIX-Prozesse, die dazu verwandt werden können, verschiedene Aktionen asynchron zu erbitten. Die Signal-Handhabung wird sehr früh im Systemstart aktiviert, bevor irgendwelche Prozesse aufgerufen werden. Allerdings muss ein überwachender Container-Verwalter oder ähnliches, der plant, diese Aktionen mittels dieses Mechanismus zu erbitten, berücksichtigen, dass diese Funktionalität nicht während der allerfrühsten Initialisierungsphase verfügbar ist. Wie nachfolgend beschrieben wird wird eine sd_notify(3)-Nachricht ausgesandt, die das Feld X_SYSTEMD_SIGNALS_LEVEL=2 enthält, sobald die Signalhandhaber aktiviert sind. Dies kann dazu verwandt werden, die Einreichung dieser Signale korrekt einzuplanen.
SIGTERM
Systemd-Benutzerverwalter werden die Unit exit.target starten, wenn dieses Signal empfangen wird. Dies ist größtenteils äquivalent zu systemctl --user start exit.target --job-mode=replace-irreversibly.
SIGINT
Systemd-Benutzerverwalter behandeln dieses Signal auf die gleiche Art wie SIGTERM.
SIGWINCH
Dieses Signal wird von Systemd-Benutzerverwaltern ignoriert.
SIGPWR
SIGUSR1
SIGUSR2
SIGHUP
SIGRTMIN+0
SIGRTMIN+1
SIGRTMIN+2
SIGRTMIN+3
SIGRTMIN+4
SIGRTMIN+5
SIGRTMIN+6
SIGRTMIN+7
Hinzugefügt in Version 254.
SIGRTMIN+13
SIGRTMIN+14
SIGRTMIN+15
SIGRTMIN+16
SIGRTMIN+17
Hinzugefügt in Version 254.
SIGRTMIN+20
Um Ressourcenwettlauf-Bedingungen zu vermeiden, sollten Sie SetShowStatus() anstelle von SIGRTMIN+20 verwenden. Siehe org.freedesktop.systemd1(5).
SIGRTMIN+21
Um Ressourcenwettlauf-Bedingungen zu vermeiden, sollten Sie SetShowStatus() anstelle von SIGRTMIN+21 verwenden. Siehe org.freedesktop.systemd1(5).
SIGRTMIN+22
SIGRTMIN+23
Hinzugefügt in Version 239.
SIGRTMIN+24
Hinzugefügt in Version 195.
SIGRTMIN+25
Der Systemd Systemverwalter behandelt dieses Signal auf die gleiche Art wie SIGTERM.
Hinzugefügt in Version 250.
SIGRTMIN+26
Hinzugefügt in Version 239.
SIGRTMIN+27, SIGRTMIN+28
Hinzugefügt in Version 239.
UMGEBUNGSVARIABLEN
Der Umgebungsblock für den Systemverwalter wird anfänglich vom Kernel gesetzt. (Insbesondere werden »Schlüssel=Wert«-Zuweisungen auf der Kernelbefehlszeile in Umgebungsvariablen für PID 1 umgewandelt). Für den Benutzerverwalter setzt der Systemverwalter den Umgebungsblock, wie im Abschnitt »Umgebungsvariablen in erzeugten Prozessen« von systemd.exec(5) beschrieben. Die Einstellung DefaultEnvironment= im Systemverwalter gilt für alle Dienste, einschließlich user@.service. Mittels der Einstellungen Environment= und EnvironmentFile= für user@.service können zusätzliche Einträge (wie bei jedem anderen Dienst auch) konfiguriert werden (siehe systemd.exec(5)). Es können auch zusätzliche Umgebungsvariablen mittels der Einstellung ManagerEnvironment= in systemd-system.conf(5) und systemd-user.conf(5) gesetzt werden.
Einige der von systemd verstandenen Variablen:
$SYSTEMD_LOG_LEVEL
Dies kann mit --log-level= außer Kraft gesetzt werden.
$SYSTEMD_LOG_COLOR
Dies kann mit --log-color= außer Kraft gesetzt werden.
$SYSTEMD_LOG_TIME
Dies kann mit --log-time= außer Kraft gesetzt werden.
Hinzugefügt in Version 246.
$SYSTEMD_LOG_LOCATION
Dies kann mit --log-location= außer Kraft gesetzt werden.
$SYSTEMD_LOG_TID
Hinzugefügt in Version 247.
$SYSTEMD_LOG_TARGET
Dies kann mit --log-target= außer Kraft gesetzt werden.
$SYSTEMD_LOG_RATELIMIT_KMSG
Hinzugefügt in Version 254.
$XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS
$SYSTEMD_UNIT_PATH, $SYSTEMD_GENERATOR_PATH, $SYSTEMD_ENVIRONMENT_GENERATOR_PATH
Diese Variablen können eine Liste von Pfaden, getrennt durch Doppelpunkte (»:«), enthalten. Ist dies gesetzt und endet mit der leeren Komponente (»…:«), wird diese Liste der normalen Gruppe an Pfaden vorangestellt. Andernfalls ersetzt die angegebene Liste die normale Gruppe an Pfaden.
$SYSTEMD_PAGER, $PAGER
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren des Seitenanzeigeprogramms (mit »cat« oder »«) verwandt werden und werden ansonsten ignoriert.
$SYSTEMD_LESS
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.
X
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die Ausführung von less(1) durch systemd(1)-Werkzeuge hat.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Ausführungen von less(1) durch systemd(1)-Werkzeuge hat.
$SYSTEMD_PAGERSECURE
Diese Option akzeptiert ein logisches Argument. Ist es auf »true« gesetzt, wird der »Sichere Modus« des Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt. Dies weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder Erstellen von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren. Derzeit ist nur von less(1) bekannt, dass es diese Variable versteht und den »Sicheren Modus« implementiert.
Ist diese Variable auf »false« gesetzt, unterliegt das Seitenanzeigeprogramm keinen Beschränkungen. Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung könnte den Benutzern die Ausführung beliebiger Befehle erlauben.
Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die Systemd-Werkzeuge automatisch herauszufinden, ob der »Sicheren Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies unterstützt. Der »Sichere Modus« wird aktiviert, falls die effektive UID nicht mit der UID des Eigentümers der Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausführung unter Werkzeugen wie sudo(8) oder ähnlichem erfolgt ($SUDO_UID ist gesetzt [6]). In diesen Fällen wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie den »Sicheren Modus« unterstützen, werden überhaupt nicht verwandt. Beachten Sie, dass diese automatische Erkennung nur die typischsten Mechanismen zur Erlangung von Privilegien abdeckt und dem Komfort dient. Es wird empfohlen, explizit $SYSTEMD_PAGERSECURE zu setzen oder das Seitenanzeigeprogramm zu deaktivieren.
Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein muss, damit die Variablen $SYSTEMD_PAGER oder $PAGER (außer zum Deaktivieren des Seitenanzeigeprogramms) berücksichtigt werden.
$SYSTEMD_COLORS
$SYSTEMD_URLIFY
$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES
$NOTIFY_SOCKET
Für weitere Umgebungsvariablen, die von Systemd und seinen verschiedenen Komponenten verstanden werden, siehe Bekannte Umgebungsvariablen[7].
KERNEL-BEFEHLSZEILE
Bei der Ausführung als Systeminstanz wertet Systemd eine Reihe von nachfolgend aufgeführten Optionen aus. Diese können als Kernelbefehlszeilenargumente angegeben werden, die von einer Reihe von Quellen ausgewertet werden, abhängig von der Umgebung, in der Systemd ausgeführt wird. Beim Betrieb innerhalb eines Linux-Containers werden diese Optionen, die von der Befehlszeile übergeben werden, von Systemd selbst ausgewertet, neben allen Befehlzeilenoptionen, die in obigem Abschnitt Options aufgeführt sind. Beim Betrieb von außerhalb von Linux-Containern werden diese Argumente stattdessen aus /proc/cmdline und der EFI-Variable »SystemdOptions« (auf EFI-Systemen) auswerten. Optionen von /proc/cmdline haben höhere Priorität.
Hinweis: Die Verwendung von »SystemdOptions« wird missbilligt.
Die folgenden Variablen werden verstanden:
systemd.unit=, rd.systemd.unit=
systemd.dump_core
Hinzugefügt in Version 233.
systemd.crash_chvt
Hinzugefügt in Version 233.
systemd.crash_shell
Hinzugefügt in Version 233.
systemd.crash_action=
Hinzugefügt in Version 256.
systemd.confirm_spawn
Hinzugefügt in Version 233.
systemd.service_watchdogs=
Hinzugefügt in Version 237.
systemd.show_status
Hinzugefügt in Version 233.
systemd.status_unit_format=
Hinzugefügt in Version 243.
systemd.log_color, systemd.log_level=, systemd.log_location, systemd.log_target=, systemd.log_time, systemd.log_tid, systemd.log_ratelimit_kmsg
systemd.default_standard_output=, systemd.default_standard_error=
systemd.setenv=
systemd.machine_id=
Hinzugefügt in Version 229.
systemd.set_credential=, systemd.set_credential_binary=
Siehe die Dokumentation der System- und Dienste-Zugangsberechtigungen[8] für weitere Details.
Hinzugefügt in Version 251.
systemd.import_credentials=
Hinzugefügt in Version 251.
quiet
Hinzugefügt in Version 186.
debug
Hinzugefügt in Version 205.
emergency, rd.emergency, -b
Hinzugefügt in Version 186.
rescue, rd.rescue, single, s, S, 1
Hinzugefügt in Version 186.
2, 3, 4, 5
Hinzugefügt in Version 186.
locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, locale.LC_NUMERIC=, locale.LC_TIME=, locale.LC_COLLATE=, locale.LC_MONETARY=, locale.LC_MESSAGES=, locale.LC_PAPER=, locale.LC_NAME=, locale.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=, locale.LC_IDENTIFICATION=
Hinzugefügt in Version 186.
Für weitere von Komponenten des Kernbetriebssystems verstandene Kernelbefehlszeilenparameter siehe kernel-command-line(7).
SYSTEMZUGANGSBERECHTIGUNGEN
Während der Initialisierung wird der Diensteverwalter Zugangsberechtigungen aus verschiedenen Stellen in den Satz der Zugangsberechtigungen des Systems importieren. Dies kann dann an Dienste weitergeleitet und von Generatoren verwandt werden:
Rufen Sie systemd-creds(1) wie folgt auf, um eine Liste der an das System übergebenen Zugangsberechtigungen zu sehen:
# systemd-creds --system list
Siehe die Dokumentation der System- und Dienste-Zugangsberechtigungen[8] für weitere Details.
Wenn der Diensteverwalter als PID 1 ausgeführt wird, verwendet er die folgenden Systemzugangsberechtigungen:
vmm.notify_socket
Diese Funktionalität ist für Maschinenverwalter oder andere Prozesse auf dem Rechner nützlich, um eine Benachrichtigung über VSOCK zu erhalten, wenn eine virtuelle Maschine mit dem Starten fertig ist.
Hinzugefügt in Version 254.
system.machine_id
Hinzugefügt in Version 254.
Eine Liste von Systemzugangsberechtigungen, die verschiedene andere Komponenten von Systemd konsumieren, finden Sie in systemd.system-credentials(7).
BEREITSCHAFTSPROTOKOLL
Der Diensteverwalter implementiert ein Bereitschafts-Benachrichtigungsprotokoll, sowohl zwischen dem Verwalter und seinen Diensten (d. zu den nachgeordneten Teilen) als auch zwischen dem Verwalter und einem möglichen übergeordneten Überwacher (letzerer könnte ein Maschinen- oder Container-Verwalter sein, oder im Falle eines benutzerbezogenen Diensteverwalters die Instanz des System-Diensteverwalters). Das grundlegende Protokoll (und die dafür vorgeschlagene API) sind in sd_notify(3) beschrieben.
Das vom Diensteverwalter (einschließlich PID 1) für die Meldung der Bereitschaft an seinen eigenen Supervisor verwandte Benachrichtigungs-Socket wird mittels der Umgebungsvariablen $NOTIFY_SOCKET gesetzt (siehe oben). Da diese nur für Container-Verwalter und für die benutzerbezogene Instanz des Diensteverwalters setzbar ist, ist ein zusätzlicher Mechanismus zur Konfiguration davon verfügbar, der insbesondere für VM-Umgebungen gedacht ist: Die Systemzugangsberechtigung vmm.notify_socket (siehe oben) kann mittels SMBIOS-Type-11-Lieferantenzeichenketten auf ein geeignetes Socket (typischerweise der Art AF_VSOCK) gesetzt werden. Details hierzu finden Sie weiter oben.
Das Benachrichtigungsprotokoll vom Diensteverwalter zu übergeordneten Supervisoren unterstützt eine Reihe von Erweiterungsfeldern, die es einem Supervisor ermöglichen, Informationen über bestimmte Eigenschaften des Systems zu erlangen und dessen Systemstartvorgang nachzuverfolgen. Konkret werden die folgenden Felder gesandt:
Hinzugefügt in Version 256.
Hinzugefügt in Version 256.
Signale, die an PID 1 vor dieser Meldung gesandt werden, könnten nicht korrekt behandelt werden. Ein Konsument dieser Meldungen sollte die Werte als eine vorzeichenfrei Ganzzahl auswerten, die die Unterstützungsstufe anzeigt. Aktuell ist nur die erwähnte Stufe 2 definiert, aber später könnten zusätzliche Stufen mit größeren Ganzzahlen definiert werden, die eine Obermenge des aktuell definierten Verhaltens implementieren.
Hinzugefügt in Version 256.
Hinzugefügt in Version 256.
Hinzugefügt in Version 256.
Hinzugefügt in Version 256.
Beachten Sie, dass diese Erweiterungsfelder zusätzlich zu den regulären Benachrichtigungen »READY=1« und »RELOADING=1« gesandt werden.
OPTIONEN
Systemd wird nur sehr selten direkt aufgerufen, da es früh gestartet wird und bereits läuft, wenn Benutzer mit ihm interagieren. Normalerweise werden Werkzeuge wie systemctl(1) verwandt, um Befehle an den Verwalter abzusetzen. Da systemd normalerweise nicht direkt aufgerufen wird, sind die nachfolgend aufgeführten Optionen hauptsächlich zur Fehlersuche und für besondere Zwecke nützlich.
Optionen zur Selbstprüfung und Fehlersuche
Diese Optionen werden zum Testen und zur Selbstprüfung verwandt und systemd kann mit ihnen jederzeit aufgerufen werden:
--dump-configuration-items
--dump-bus-properties
Hinzugefügt in Version 239.
--test
--system, --user
-h, --help
--version
Optionen, die Kernelbefehlszeileneinstellungen duplizieren
Diese Optionen entsprechen direkt den oben unter »Kernel-Befehlszeile« aufgeführten Optionen. Beide Formen können gleichwertig für den Systemverwalter verwandt werden, aber es wird empfohlen, in diesem Zusammenhang die oben aufgeführten Formen einzusetzen, da ihnen ein korrekter Namensraum zugewiesen ist. Wenn eine Option sowohl auf der Kernelbefehlszeile als auch als normales Befehlszeilenargument angegeben ist, hat letztere höheren Vorrang.
Wird systemd als Benutzerverwalter eingesetzt, wird die Kernelbefehlzeile ignoriert und nur die beschriebenen Optionen werden verstanden. Da systemd normalerweise durch den Dienst user@.service(5) in diesem Modus gestartet wird und der Dienst von allen Benutzer gemeinsam verwandt wird, kann es bequemer sein, die Konfigurationsdatei oder Umgebungsvariablen zu verwenden, um Einstellungen zu verändern (siehe systemd-user.conf(5)). Siehe den obigen Abschnitt »Umgebungsvariablen« für eine Diskussion, wie der Umgebungsblock gesetzt wird.
--unit=
--dump-core
--crash-vt=VT
Hinzugefügt in Version 227.
--crash-shell
--crash-action=
Hinzugefügt in Version 256.
--confirm-spawn
--show-status
Hinzugefügt in Version 244.
--log-color
Hinzugefügt in Version 244.
--log-level=
--log-location
Hinzugefügt in Version 244.
--log-target=
--log-time=
Hinzugefügt in Version 246.
--machine-id=
Hinzugefügt in Version 229.
--service-watchdogs
Hinzugefügt in Version 237.
--default-standard-output=, --default-standard-error=
SYSTEMUHR-EPOCH
Wenn systemd gestartet oder neugestartet wird, könnte es die Systemuhr auf die »Epoch« stellen. Dieser Mechanismus wird verwandt, um sicherzustellen, dass die Uhr einigermaßen vernünftig initialisiert bleibt und über Neustarts hinweg grob monoton verläuft, falls keine lokale, Batterie-gestützte RTC vorhanden ist oder diese nicht korrekt funktioniert.
Der Epoch ist das kleinste Datum, über dem die Systemuhrzeit als korrekt gesetzt angenommen werden kann. Bei der Initialisierung wird die lokale Uhr auf die Epoch vorgestellt, falls sie auf einen niederigeren Wert gestellt war. Als Spezialfall wird die Systemuhr auf die Epoch zurückgestellt, falls die lokale Uhr hinreichend weit in der Zukunft ist (standardmäßig 15 Jahre, aber dies kann zum Compile-Zeitpunkt konfiguriert werden).
Die Epoch wird auf das höchste der folgenden gesetzt: Dem Bauzeitpunkt von Systemd, der Veränderungszeit (»mtime«) von /usr/lib/clock-epoch und der Veränderungszeit von /var/lib/systemd/timesync/clock.
DATEIEN
/run/systemd/notify
/run/systemd/private
/dev/initctl
/usr/lib/clock-epoch
Hinzugefügt in Version 247.
/var/lib/systemd/timesync/clock
Hinzugefügt in Version 257.
GESCHICHTE
systemd 252
Hinzugefügt in Version 252.
SIEHE AUCH
Die Systemd-Homepage[9], systemd-system.conf(5), locale.conf(5), systemctl(1), journalctl(1), systemd-notify(1), daemon(7), sd-daemon(3), org.freedesktop.systemd1(5), systemd.unit(5), systemd.special(7), pkg-config(1), kernel-command-line(7), bootup(7), systemd.directives(7), org.freedesktop.systemd1(5)
Für weitere Informationen über die Konzepte und Ideen hinter Systemd wird auf das Ursprüngliches Designdokument[10] verwiesen.
ANMERKUNGEN
- 1.
- Schnittstellenportabilitäts- und -stabilitätszusage
- 2.
- Container-Schnittstelle
- 3.
- Initrd-Schnittstelle
- 4.
- Control-Gruppen v2
- 5.
- XDG-Basisverzeichnisspezifikation
- 6.
- Es wird für andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu überprüfen und es als allgemeine Schnittstelle zu behandeln.
- 7.
- Bekannte Umgebungsvariablen
- 8.
- System- und Dienste-Zugangsberechtigungen
- 9.
- Systemd-Homepage
- 10.
- Ursprüngliches Designdokument
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
| systemd 257.6 |