Scroll to navigation

SYSTEMD.SPECIAL(7) systemd.special SYSTEMD.SPECIAL(7)

BEZEICHNUNG

systemd.special - Spezielle Systemd-Units

ÜBERSICHT

basic.target, bluetooth.target, cryptsetup-pre.target, cryptsetup.target, ctrl-alt-del.target, blockdev@.target, boot-complete.target, default.target, emergency.target, exit.target, final.target, first-boot-complete.target, getty.target, getty-pre.target, graphical.target, halt.target, hibernate.target, hybrid-sleep.target, suspend-then-hibernate.target, initrd.target, initrd-fs.target, initrd-root-device.target, initrd-root-fs.target, kbrequest.target, kexec.target, local-fs-pre.target, local-fs.target, machines.target multi-user.target, network-online.target, network-pre.target, network.target, nss-lookup.target, nss-user-lookup.target, paths.target, poweroff.target, printer.target, reboot.target, remote-cryptsetup.target, remote-fs-pre.target, remote-fs.target, rescue.target, rpcbind.target, runlevel2.target, runlevel3.target, runlevel4.target, runlevel5.target, shutdown.target, sigpwr.target, sleep.target, slices.target, smartcard.target, sockets.target, sound.target, suspend.target, swap.target, sysinit.target, system-update.target, system-update-pre.target, time-set.target, time-sync.target, timers.target, umount.target, usb-gadget.target, -.slice, system.slice, user.slice, machine.slice, -.mount, dbus.service, dbus.socket, display-manager.service, init.scope, syslog.socket, system-update-cleanup.service

BESCHREIBUNG

Einige wenige Units werden durch Systemd besonders behandelt. Viele von ihnen haben besondere interne Semantiken und können nicht umbenannt werden, während andere einfach über eine Standardbedeutung verfügen und auf allen Systemen vorhanden sein sollten.

UNITS, DIE VOM SYSTEMDIENSTEVERWALTER VERWALTET WERDEN

Spezielle System-Units:

-.mount

Der Wurzeleinhängepunkt, d.h. die Einhänge-Unit für den Pfad /. Diese Unit ist bedingungslos während der gesamten Laufzeit des Systems aktiv, da dies der Einhängepunkt ist, von dem der grundlegende Anwendungsbereich aus läuft.

basic.target

Eine besondere Unit, die den grundlegenden Systemstart abdeckt.

Systemd fügt automatisch Abhängigkeiten vom Typ After= für diese Ziel-Unit an alle Dienste (außer denen mit DefaultDependencies=no) hinzu.

Normalerweise sollte diese alle lokalen Einhängepunkte plus /var/, /tmp/ und /var/tmp/, Auslagerungsgeräte, Sockets, Timer, Pfad-Units und andere notwendige grundlegende Initialisierungen für die Universal-Daemons hineinziehen. Die erwähnten Einhängepunkte sind Spezialfälle, damit sie auf Rechnern in der Ferne liegen können.

Diese Ziel-Unit zieht normalerweise keine Nicht-Ziel-Units direkt hinein, sondern erledigt dies über andere Ziele der frühen Systemstartphase indirekt. Es ist stattdessen als Synchronisationspunkt für späte Systemstartdienste gedacht. Schauen Sie in bootup(7) für Details über die beteiligten Ziele.

boot-complete.target

Dieses Ziel ist als generischer Synchronisationspunkt für Dienste gedacht, die abhängig davon, ob der Systemstartprozess erfolgreich abgeschlossen wurde, bestimmen oder handeln sollen. Sortieren Sie Units, die für den erfolgreichen Abschluss des Systemstartprozesses benötigt werden, vor diese Unit und fügen Sie eine Abhängigkeit Requires= von der Ziel-Unit auf sie hinzu. Sortieren Sie Units, die nur ausgeführt werden sollen, wenn der Systemstartprozess als erfolgreich abgeschlossen betrachtet wird, nach dieser Ziel-Unit und ziehen Sie in ihr das Ziel herein, auch mit Requires=. Beachten Sie, dass diese Ziel-Unit standardmäßig kein Teil der anfänglichen Systemstarttransaktion ist und sie nur hereingezogen werden soll, falls das von Units benötigt wird, die nur nach einem erfolgreichen Start ausgeführt werden möchten.

Siehe systemd-boot-check-no-failures.service(8) für einen Dienst, der eine generische Systemgesundheitsprüfung implementiert und sich selbst nach boot-complete.target einsortiert.

Siehe systemd-bless-boot.service(8) für einen Dienst, der Systemstartinformationen an das Systemstartprogramm weiterleitet und sich selbst nach boot-complete.target einsortiert.

ctrl-alt-del.target

Systemd startet diese Ziel, wannimmer Strg+Alt+Entf auf der Konsole gedrückt wird. Normalerweise sollte dies auf reboot.target gesymlinkt sein.

cryptsetup.target

Ein Ziel, das die Einrichtungsdienste für alle verschlüsslten Blockgeräte hereinzieht.

dbus.service

Eine besondere Unit für den D-Bus-Bus-Daemon.s Sobald dieser Dienst voll gestartet ist, wird sich Systemd mit ihm verbinden und seinen Dienst registrieren.

dbus.socket

Eine besondere Unit für das D-Bus-System-Bus-Socket. Alle Units mit Type=dbus erlangen automatisch eine Abhängigkeit auf diese Unit.

default.target

Die Vorgabe-Unit, die Systemd beim Systemstart startet. Normalerweise sollte dies auf multi-user.target oder graphical.target gealiast (gesymlinkt) werden. Siehe bootup(7) für weitergehende Besprechung.

Die Vorgabe-Unit, die Systemd beim Systemstart startet, kann mit der Kernelbefehlszeilenoption systemd.unit= oder bequemer mit den Kurznamen wie single, rescue, 1, 3, 5, … außer Kraft gesetzt werden, siehe systemd(1).

display-manager.service

Der Display-Manager-Dienst. Normalerweise sollte dieser auf gdm.service oder einen ähnlichen Display-Manager-Dienst gealiast (symlinkt) werden.

emergency.target

Eine besondere Ziel-Unit, die eine Notfall-Shell auf der Hauptkonsole startet. Diese Ziel zieht keine anderen Dienste oder Einhängungen herein. Es ist die minimalste Version eines Systemstarts, um eine interaktive Shell zu erlangen; die einzigen laufenden Prozesse sind normalerweise nur der Systemverwalter (PID 1) und der Shell-Prozess. Diese Unit kann durch Verwendung von emergency auf der Kernel-Befehlszeile verwandt werden; sie wird auch verwandt, wenn eine Dateisystemprüfung auf einem benötigten Dateisystem fehlschlägt und der Systemstart nicht fortfahren kann. Vergleichen Sie sie mit rescue.target, das einem ähnlichen Zweck dient, aber auch die grundlegensten Dienste startet und alle Dateisysteme einhängt.

Auf viele Arten und Weisen ist der Systemstart in emergency.target ähnlich zu dem Effekt des Systemstarts mit »init=/bin/sh« auf der Kernelbefehlszeile, außer dass der Notfallmodus Ihnen ein komplettes System und einen Diensteverwalter bereitstellt und es Ihnen erlaubt, individuelle Units zu starten, um den Systemstartvorgang schrittweise fortzusetzen.

Beachten Sie, dass abhängig davon, wie emergency.target erreicht wird, das Wurzeldateisystem schreibgeschützt oder schreibbar eingehängt sein könnte (es wird nicht speziell für dieses Ziel neu eingehängt). Beispielsweise kann das System mit schreibgeschützter Wurzel gestartet werden, wenn ro auf der Kernelbefehlszeile angegeben wird und so für emergency.target verbleiben, oder das System könnte zu emergency.target überleiten, nachdem das System teilweise gestartet wurde und die Platten bereits schreibbar neu eingehängt wurden.

exit.target

Eine besondere Dienste-Unit zum Herunterfahren des Systems oder Benutzerdiensteverwalters. Es ist äquivalent zum poweroff.target auf nicht Container-Systemen und funktioniert auch in Containern.

Systemd wird diese Unit starten, wenn es das Signal SIGTERM oder SIGINT empfängt, wenn es als Benutzerdienste-Daemon läuft.

Normalerweise zieht dies (indirekt) shutdown.target mit herein, was wiederum in Konflikt zu allen Units stehen sollte, die für das Herunterfahren eingeplant werden wollen, wenn der Systemverwalter anfängt, sich zu beenden.

final.target

Eine besondere Ziel-Unit, die während der Herunterfahrlogik verwandt wird und dazu eingesetzt werden kann, späte Dienste hereinzuziehen, nachdem alle normalen Dienste sich bereits beendet und alle Einhängungen ausgehängt haben.

getty.target

Eine besondere Ziel-Unit, die statisch konfigurierte lokale TTY-Getty-Instanzen hereinzieht.

graphical.target

Eine besondere Ziel-Unit zum Einrichten eines graphischen Anmeldebildschirms. Dies zieht multi-user.target herein.

Units, die für graphische Anmeldebildschirme benötigt werden, sollten während der Installation Abhängigkeiten Wants= für ihre Unit auf diese Unit (oder multi-user.target) hinzufügen. Am besten wird dies über WantedBy=graphical.target im Abschnitt »[Install]« in der Unit konfiguriert.

hibernate.target

Eine besondere Ziel-Unit zum Schlafenlegen des Systems. Dies zieht sleep.target herein.

hybrid-sleep.target

Eine besondere Ziel-Unit zum Schlafenlegen und gleichzeitigen Suspendieren des Systems. Dies zieht sleep.target herein.

suspend-then-hibernate.target

Eine besondere Ziel-Unit zur Suspendierung des System für eine bestimmte Zeitperiode, zum Aufwachen und zum Schlafenlegen des Systems. Dies zieht sleep.target herein.

halt.target

Eine besondere Ziel-Unit zum Herunterfahren und Anhalten des Systems. Beachten Sie, dass dieses Ziel sich von poweroff.target darin unterscheidet, dass es im Allgemeinen nur das System anhält statt es auszuschalten.

Anwendungen, die das System anhalten wollen, sollten diese Unit nicht direkt starten, sondern stattdessen systemctl halt (möglicherweise mit der Option --no-block) ausführen oder die D-Bus-Methode org.freedesktop.systemd1.Manager.Halt von systemd(1) direkt aufrufen.

init.scope

In dieser Bereichs-Unit befindet sich der System- und Diensteverwalter (PID 1) selbst. Sie ist aktiv, solange das System läuft.

initrd.target

Dies ist das Standardziel in der Initramfs, ähnlich zu default.target im Hauptsystem. Es wird zum Einhängen der echten Wurzel und dem Übergang dahin verwandt. Siehe bootup(7) für eine Besprechung.

initrd-fs.target

systemd-fstab-generator(3) fügt automatisch Abhängigkeiten vom Typ Before= von sysroot-usr.mount und allen in /etc/fstab gefundenen Einhängepunkten, die x-initrd.mount haben und nicht die Einhängeoptionen noauto gesetzt haben, hinzu.

initrd-root-device.target

Eine besondere Initrd-Ziel-Unit, die erreicht wird, wenn das Wurzeldateisystemgerät verfügbar, aber bevor es eingehängt ist. systemd-fstab-generator(3) und systemd-gpt-auto-generator(3) richten automatisch die geeigneten Abhängigkeiten ein, damit dies erreicht wird.

initrd-root-fs.target

systemd-fstab-generator(3) fügt automatisch Abhängigkeiten vom Typ Before= zu der Unit sysroot.mount, die aus der Kernelbefehlszeile erstellt wird, hinzu.

kbrequest.target

Systemd startet diese Ziel, wannimmer Alt+PfeilHoch auf der Konsole gedrückt wird. Beachten Sie, dass dies jeder Benutzer mit physischem Zugang zu der Maschine ohne Authentifizierung machen kann, daher sollte dies vorsichtig genutzt werden.

kexec.target

Eine besondere Ziel-Unit für das Herunterfahren und Neustarten des Systems mittels kexec.

Anwendungen, die das System neu starten möchten, sollten diese Unit nicht direkt starten, sondern stattdessen systemctl kexec (möglicherweise mit der Option --no-block) ausführen oder die D-Bus-Methode org.freedesktop.systemd1.Manager.KExec von systemd(1) direkt aufrufen.

local-fs.target

systemd-fstab-generator(3) fügt automatisch Ziele vom Typ Before= zu allen Einhänge-Units, die sich auf lokale Einhängepunkte beziehen, für diese Ziel-Unit hinzu. Zusätzlich fügt es Abhängigkeiten vom Typ Wants= zu dieser Ziel-Unit für solche Einhängepunkte von Einhängungen, die in /etc/fstab mit der gesetzten Option auto aufgeführt sind, hinzu.

machines.target

Eine Standard-Ziel-Unit zum Starten aller Container und anderer virtueller Maschinen. Siehe systemd-nspawn@.service für ein Beispiel.

multi-user.target

Eine besondere Ziel-Unit zum Einrichten eines Mehrbenutzersystems (nicht graphisch). Diese wird von graphical.target hereingezogen.

Units, die für Mehrbenutzersysteme benötigt werden, müssen Wants=-Abhängigkeiten für ihre Unit auf diese Unit während der Installation hinzufügen. Dies wird am besten mittels WantedBy=multi-user.target in dem Abschnitt »[Install]« der Unit konfiguriert.

network-online.target

Units, die strikt ein konfiguriertes Netz benötigen, sollten (mittels einer Wants=-artigen Abhängigkeit) network-online.target hereinziehen und sich danach anordnen. Diese Ziel-Unit ist dazu gedacht, einen Dienst hereinzuziehen, der die weitere Ausführung verzögert, bis das Netzwerk hinreichend eingerichtet ist. Was genau dies benötigt, wird der Implementierung des Netzverwaltungsdienstes überlassen.

Beachten Sie den Unterschied zwischen dieser Unit und network.target. Diese Unit ist eine aktive Unit (d.h. sie wird vom Konsumenten statt vom Anbieter dieser Funktionalität hereingezogen) und zieht einen Dienst herein, der möglicherweise substanzielle Verzögerungen für die weitere Ausführung hinzufügt. Im Gegensatz dazu ist network.target eine passive Unit (d.h. sie wird vom Anbieter der Funktionalität statt vom Konsumenten hereingezogen), die normalerweise die Ausführung nicht viel verzögert. Normalerweise ist network.target Teil des Systemstarts der meisten Systeme, während network-online.target dies nicht ist, außer wenn mindestens eine Unit es verlangt. Siehe auch Dienste ausführen, nachdem das Netz oben ist[1] für weitere Informationen.

Alle Einhänge-Units für ferne Netzwerkdateisysteme ziehen diese Unit automatisch herein und sortieren sich danach ein. Beachten Sie, dass Netzwerk-Daemons, die einfach für andere Rechner Funktionalitäten anbieten, im Allgemeinen diese Unit nicht hereinziehen müssen.

Systemd fügt automatisch Abhängigkeiten vom Typ Wants= und After= für diese Ziel-Unit zu allen SysV-Init-Skripte-Dienste-Units hinzu, bei denen eine LSB-Kopfzeile auf die Einrichtung »$network« referenziert.

Beachten Sie, dass diese Unit nur während der ursprünglichen Systemstartlogik sinnvoll ist. Nachdem das System komplett hochgefahren ist, wird es den Online-Status des Systems nicht mehr nachverfolgen. Daher kann es auch nicht als Netzwerküberwachungskonzept verwandt werden, es ist ein reines, einmaliges Systemstartkonzept.

paths.target

Eine besondere Ziel-Unit, die alle Pfad-Units einrichtet (siehe systemd.path(5) für Details), die nach dem Systemstart aktiv sein sollen.

Es wird empfohlen, dass durch Anwendungen installierte Pfad-Units von Wants=-Abhängigkeiten auf diese Unit hereingezogen werden. Dies wird am besten mittels WantedBy=paths.target in dem Abschnitt »[Install]« der Pfad-Unit konfiguriert.

poweroff.target

Eine besondere Ziel-Unit zum Herunterfahren und Ausschalten des Systems.

Anwendungen, die das System herunterfahren möchten, sollten diese Unit nicht direkt starten, sondern stattdessen systemctl poweroff (möglicherweise mit der Option --no-block) ausführen oder die D-Bus-Methode org.freedesktop.login1.Manager.PowerOff von systemd-logind(8) direkt aufrufen.

runlevel0.target ist ein Alias zur Kompatibilität mit SysV für diese Ziel-Unit.

reboot.target

Eine besondere Ziel-Unit zum Herunterfahren und Neustarten des Systems.

Anwendungen, die das System neustarten möchten, sollten diese Unit nicht direkt starten, sondern stattdessen systemctl reboot (möglicherweise mit der Option --no-block) ausführen oder die D-Bus-Methode org.freedesktop.login1.Manager.Reboot von systemd-logind(8) direkt aufrufen.

runlevel6.target ist ein Alias zur Kompatibilität mit SysV für diese Ziel-Unit.

remote-cryptsetup.target

Ähnlich zu cryptsetup.target, aber für verschlüsselte Geräte, auf die über das Netz zugegriffen wird. Sie wird für crypttab(8)-Einträge, die mit _netdev markiert sind, verwandt.

remote-fs.target

Ähnlich zu local-fs.target, aber für ferne Einhängepunkte.

Systemd fügt automatisch Abhängigkeiten vom Typ After= für diese Ziel-Unit zu allen SysV-Init-Skripte-Dienste-Units hinzu, bei denen eine LSB-Kopfzeile auf die Einrichtung »remote_fs« referenziert.

rescue.target

Eine besondere Ziel-Unit, die das Basissystem (einschließlich Systemeinhängungen) hereinzieht und eine Notfall-Shell startet. Isolieren Sie zu diesem Ziel, um das System im Einzelbenutzermodus mit allen Dateisystemen eingehängt, aber ohne laufende Dienste (außer den grundlegendsten) zu administrieren). Vergleichen Sie dies mit emergency.target, das deutlich reduzierter ist und keine Dateisysteme oder grundlegendste Dienste bereitstellt. Im Vergleich zu multi-user.target könnte dieses Ziel als single-user.target betrachtet werden.

runlevel1.target ist ein Alias zur Kompatibilität mit SysV für diese Ziel-Unit.

Verwenden Sie die Kernelbefehlszeilenoption »systemd.unit=rescue.target«, um in diesen Modus zu starten. Ein kurzer Alias für diese Kernelbefehlszeilenoption ist »1«, zur Kompatibilität mit SysV.

runlevel2.target, runlevel3.target, runlevel4.target, runlevel5.target

Dies sind die Ziele, die aufgerufen werden, wenn der SysV-Kompatibilitätscode nach den Runleveln 2, 3, 4 bzw. 5 fragt. Es ist eine gute Idee, diese zu einem Alias von (d.h. einen Symlink auf) graphical.target (für Runlevel 5) oder multi-user.target (die anderen) zu machen.

shutdown.target

Eine besondere Ziel-Unit, die die Dienste beim Herunterfahren des Systems beendet.

Dienste, die beim Herunterfahren des Systems beendet werden sollen, sollten eine Abhängigkeit Conflicts= und Before= auf diese Unit zu ihrer Dienste-Unit hinzufügen, was implizit passiert, wenn DefaultDependencies=yes gesetzt ist (die Vorgabe).

sigpwr.target

Ein besonderes Ziel, das gestartet wird, wenn Systemd das SIGPWR-Prozesssignal erhält, was normalerweise vom Kernel oder UPS-Daemon gesandt wird, wenn die Stromversorgung zusammenbricht.

sleep.target

Eine besondere Ziel-Unit, die durch suspend.target, hibernate.target und hybrid-sleep.target hereingezogen wird und dazu verwandt werden kann, Units in die Einschlafzustandslogik einzuhängen.

slices.target

Eine besondere Ziel-Unit, die alle Scheiben-Units (siehe systemd.slice(5) für Details) einrichtet, die nach dem Systemstart immer aktiv sein sollen. Standardmäßig wird die generische Scheiben-Unit system.slice sowie die Wurzelscheiben-Unit -.slice hereingezogen und vor dieser Unit angeordnet (siehe unten).

Normalerweise ist es nicht notwendig, Scheiben-Units zu slices.target hinzuzufügen. Stattdessen wird die festgelegte Scheibe automatisch gestartet, wenn eine Unit, die Slice= verwendet, gestartet wird. Hinzufügen von WantedBy=slices.target-Zeilen zu dem Abschnitt »[Install]« sollte nur für Units erfolgen, die immer aktiv sein müssen. In diesem Fall müssen Sie darauf achten, dass keine Schleife zu der automatischen Abhängigkeit der »Eltern«-Scheibe erzeugt wird.

sockets.target

Eine besondere Ziel-Unit, die alle Socket-Units einrichtet (siehe systemd.socket(5) für Details), die nach dem Systemstart aktiv sein sollen.

Dienste, die Socket-aktivierbar sein sollen, sollen eine Abhängigkeit Wants= von dieser Unit für ihre Socket-Unit während der Installation hinzufügen. Dies wird am besten mittels WantedBy=sockets.target im Abschnitt »[Install]« der Socket-Unit konfiguriert.

suspend.target

Eine besondere Ziel-Unit für die Suspendierung des Systems. Dies zieht sleep.target herein.

swap.target

Ähnlich zu local-fs.target, aber für Auslagerungspartitionen und -dateien.

sysinit.target

Systemd fügt automatisch Abhängigkeiten vom Typ Requires= und After= für diese Ziel-Unit zu allen Diensten (außer für solche mit DefaultDependencies=no) hinzu.

Dieses Ziel zieht alle Dienste herein, die für die Systeminitialisierung benötigt werden. Systemdienste, die durch dieses Ziel hereingezogen werden, sollten DefaultDependencies=no deklarieren und alle ihre Abhängigkeiten manuell festlegen, einschließlich Zugriff auf alles, was mehr als ein rein lesbares Wurzeldateisystem ist. Für Details zu den Abhängigkeiten dieses Zieles lesen Sie bitte bootup(7).

syslog.socket

Die Socket-Unit, an der die Syslog-Implementierung auf Anfragen warten soll. Alle Protokollmeldungen aus dem Anwendungsbereich werden auf diesem Socket zur Verfügung gestellt. Für weitere Informationen über die Syslog-Integration schlagen Sie bitte im Dokument Syslog-Schnittstelle[2] nach.

system-update.target, system-update-pre.target, system-update-cleanup.service

Eine besondere Ziel-Unit, die für Offline-Systemaktualisierungen verwandt wird. systemd-system-update-generator(8) wird den Systemstartprozess auf dieses Ziel umlenken, falls /system-update existiert. Für weitere Informationen siehe systemd.offline-updates(7).

Aktualisierungen sollten stattfinden, bevor das Ziel system-update.target erreicht wird und die Dienste, die es implementieren, sollten einen Neustart der Maschine auslösen. Die Haupt-Units, die die Aktualisierung ausführen, sollten sich nach system-update-pre.target einsortieren, es aber nicht hereinziehen. Dienste, die nur während der Systemaktualisierung laufen möchten, aber bevor die eigentliche Systemaktualisierung ausgeführt wird, sollten sich vor dieser Unit einordnen und sie hereinziehen. Als Sicherheitsmaßnahme wird system-update-cleanup.service diesen Symlink entfernen und die Maschine neustarten, falls vorheriges nicht passiert und /system-update noch existiert, nachdem system-update.target erreicht wurde.

timers.target

Eine besondere Ziel-Unit, die alle Timer-Units einrichtet (siehe systemd.timer(5) für Details), die nach dem Systemstart aktiv sein sollen.

Es wird empfohlen, dass durch Anwendungen installierte Timer-Units durch Abhängigkeiten Wants= von dieser Unit hereingezogen werden. Dies wird am besten mittels WantedBy=timers.target in dem Abschnitt »[Install]« der Timer-Unit konfiguriert.

umount.target

Eine besondere Ziel-Unit, die alle Einhänge- und Selbsteinhängepunkte beim Herunterfahren des Systems aushängt.

Einhängungen, die beim Herunterfahren des Systems ausgehängt werden sollen, müssen Konfliktabhängigkeiten zu dieser Unit für ihre Einhänge-Unit hinzufügen. Dies erfolgt implizit, wenn DefaultDependencies=yes gesetzt ist (die Vorgabe).

Spezielle System-Units für Geräte

Einige Ziel-Units werden automatisch hereingezogen, wenn Geräte eines bestimmten Typs im System auftauchen. Diese können dazu verwandt werden, automatisch verschiedene Dienste, basierend auf dem spezifischen Typ der verfügbaren Hardware, zu aktivieren.

bluetooth.target

Dieses Ziel wird automatisch gestartet, sobald ein Bluetooth-Controller eingesteckt oder beim Systemstart verfügbar wird.

Dies kann dazu verwandt werden, dynamisch Bluetooth-Verwaltungs-Daemons hereinzuziehen, wenn Bluetooth-Hardware gefunden wird.

printer.target

Dieses Ziel wird automatisch gestartet, sobald ein Drucker eingesteckt oder beim Systemstart verfügbar wird.

Dies kann dazu verwandt werden, dynamisch Druckerverwaltungs-Daemons hereinzuziehen, wenn Drucker-Hardware gefunden wird.

smartcard.target

Dieses Ziel wird automatisch gestartet, sobald ein Smartcard-Controller eingesteckt oder beim Systemstart verfügbar wird.

Dies kann zum dynamischen Hereinziehen von Smartcard-Verwaltungs-Daemons verwandt werden, wenn Smartcard-Hardware gefunden wird.

sound.target

Dieses Ziel wird automatisch gestartet, sobald eine Soundkarte eingesteckt wird oder beim Systemstart verfügbar wird.

Dies kann zum dynamischen Hereinziehen von Audio-Verwaltungs-Daemons verwandt werden, wenn Audio-Hardware gefunden wird.

usb-gadget.target

Dieses Ziel wird automatisch gestartet, sobald ein USB-Geräte-Controller beim Systemstart verfügbar wird.

Dies kann zum dynamischen Hereinziehen von USB-Geräten verwandt werden, wenn UDC-Hardware gefunden wird.

Spezielle passive System-Units

Es sind eine Reihe von besonderen Systemzielen definiert, die dazu verwandt werden können, um das Hochfahren optionaler Dienste zu sortieren. Diese Ziele sind im allgemeinen nicht Teil der Systemstarttransaktion, außer sie werden explizit durch einen der implementierenden Dienste hereingezogen. Beachten Sie insbesondere, dass diese passiven Ziel-Units im Allgemeinen nicht durch die Benutzer eines Dienstes hereingezogen werden, sondern durch den Anbieter des Dienstes. Dies bedeutet: Ein Benutzer-Dienst sollte sich (passend) nach diesen Zielen einsortieren, sie aber nicht hereinziehen Ein anbietender Dienst sollte sich (geeignet) vor diesen Zielen einsortieren und sie (mittels einer Wants=-artigen Abhängigkeit) hereinziehen.

Beachten Sie, dass diese passiven Units nicht manuell gestartet werden können, d.h. »systemctl start time-sync.target« wird mit einem Fehler fehlschlagen. Sie können nur über Abhängigkeiten hereingezogen werden. Dies wird durchgesetzt, da sie nur für Ordnungszwecke existieren, und daher keinen Sinn als einzige Unit innerhalb einer Transaktion ergeben.

blockdev@.target

Diese Vorlagen-Unit wird zur Sortierung von Einhänge-Units und anderen Nutzern von Blockgeräten hinter andere Dienste, die diese Blockgeräte künstlich erstellen, verwandt. Insbesondere wird dies zur Verwendung mit Speicherdiensten (wie systemd-cryptsetup@.service(5)), die virtuelle Blockgeräte reservieren und verwalten, benutzt. Speicherdienste werden vor einer Instanz von blockdev@.target einsortiert und die Nutzer-Units danach. Die Sortierung ist insbesondere während des Herunterfahrens des Systems relevant, da sie sicherstellt, dass zuerst die Einhängung deaktiviert wird und dann erst der Dienst, der der Einhänung hinterlegt ist. Die Instanz blockdev@.target sollte mittels einer Wants=-Abhängigkeit von dem Speicher-Daemon hereingezogen und daher im Allgemeinen nicht Teil irgendeiner Transaktion sein, falls kein Speicher-Daemon verwandt wird. Der Instanzenname für Instanzen dieser Vorlage-Unit muss ein korrekt maskierter Blockgeräteknotenpfad sein, z.B. blockdev@dev-mapper-foobar.target für das Speichergerät /dev/mapper/foobar.

cryptsetup-pre.target

Diese passive Ziel-Unit kann durch Dienste, die ausgeführt werden wollen, bevor irgendein verschlüsseltes Blockgerät eingerichtet wurde, hereingezogen werden. Alle verschlüsselten Blockgeräte werden eingerichtet, nachdem dieses Ziel erreicht wurde. Da die Herunterfahrreihenfolge zwischen Units implizit die Umkehrung der Hochfahrreihenfolge ist, ist dieses Ziel insbesondere nützlich, um sicherzustellen, dass ein Dienst nur heruntergefahren wird, nachdem alle verschlüsselten Blockgeräte vollständig gestoppt wurden.

first-boot-complete.target

Dieses passive Ziel ist als Synchronisationspunkt für Units, die einmal während des ersten Systemstarts ausgeführt werden müssen, gedacht. Erst nachdem alle Units, die vor dieses Ziel einsortiert wurden, sich beendet haben, wird machine-id(5) auf die Platte übertragen, wodurch der erste Systemstart als abgeschlossen markiert wird. Falls der Systemstart irgendwann davor abgebrochen wird, dann wird der nächste Systemstart alle Units mit ConditionFirstBoot=yes erneut ausführen.

getty-pre.target

Eine besondere passive Ziel-Unit. Es wird erwartet, dass Benutzer dieses Zieles sie in ihrer Hochfahrtransaktion mittels einer Abhängigkeit (d.h. Wants=) hereinziehen. Sortieren Sie Ihre Unit vor diese Unit, falls Sie die Konsole verwenden wollen, genau bevor Getty gestartet wird.

local-fs-pre.target

Diese Ziel-Unit wird automatisch vor allen lokalen, mit auto markierten Einhängepunkten sortiert (siehe oben). Sie kann verwandt werden, um bestimmte Units vor allen lokalen Einhängungen auszuführen.

network.target

Diese Unit soll anzeigen, wenn die Netzwerkfunktionalität verfügbar ist, aber es ist nur sehr unscharf definiert, was das bedeuten soll, mit einer Ausnahme: beim Herunterfahren wird eine Unit, die nach network.target einsortiert ist, gestoppt, bevor das Netz, auf welcher Stufe auch immer es dann eingerichtet ist, heruntergefahren wird. Sie ist daher beim Schreiben von Dienstedateien nützlich, die beim Herunterfahren Netzwerkzugriff benötigen und sich daher nach diesem Ziel einsortieren, es aber nicht hereinziehen sollten. Siehe auch Dienste ausführen, nachdem das Netz oben ist[1] für weitere Informationen. Siehe auch das oben beschriebene network-online.target.

network-pre.target

Diese passive Ziel-Unit kann durch Dienste, die ausgeführt werden müssen, bevor irgendein Netz eingerichtet ist, hereingezogen werden, beispielsweise für den Zweck der Einrichtung einer Firewall. Sämtliche Netzverwaltungssoftware sortiert sich nach diesem Ziel, zieht es aber nicht herein.

nss-lookup.target

Ein Ziel, das als Synchronisationspunkt für alle Rechner-/Netznamensdienste-Abfragen verwandt werden sollte. Beachten Sie, dass dies von den Abfragen der UNIX-Benutzer/-Gruppen unabhängig ist, für Letzteres sollte nss-user-lookup.target verwandt werden. Alle Dienste, für die die Verfügbarkeit der kompletten Rechner-/Namensauflösung unverzichtbar ist, sollten sich nach diesem Ziel einsortieren, es aber nicht hereinziehen. Systemd fügt automatisch Abhängigkeiten der Art After= für diese Ziel-Unit zu allen SysV-Init-Skripte-Dienste-Units hinzu, bei denen sich eine LSB-Kopfzeile auf die Einrichtung »$named« bezieht.

nss-user-lookup.target

Ein Ziel, das als Synchronisationspunkt für alle normalen Unix-Benutzer/-Gruppennamensnachschlagdienste verwandt werden sollte. Beachten Sie, dass dies von den Rechner-/Netzwerknamensnachschlagungen unabhängig ist, für Letzteres sollte nss-lookup.target verwandt werden. Alle Dienste, für die die Verfügbarkeit der kompletten Benutzer-/Gruppendatenbank unverzichtbar ist, sollten nach diesem Ziel einsortiert werden, es aber nicht hereinziehen. Alle Dienste, die Teile der Benutzer-/Gruppendatenbank bereitstellen, sollten vor dieses Ziel sortiert werden und es hereinziehen. Beachten Sie, dass diese Unit nur für reguläre Benutzer und Gruppen relevant ist, Systembenutzer und -gruppen müssen bereits während der frühsten Phase des Systemstarts auflösbar sein und benötigen daher keine besondere Sortierung bezüglich dieses Ziels.

remote-fs-pre.target

Diese Ziel-Unit wird automatisch vor alle Einhängepunkt-Units (siehe oben) und mit _netdev markierte Cryptsetup-Geräte sortiert. Sie kann zur Ausführung bestimmter Units vor der Eröffnung der fernen verschlüsselten Geräte und Einhängepunkte verwandt werden. Beachten Sie, dass diese Unit im Allgemeinen nicht Teil der anfänglichen Transaktion ist, außer wenn die Unit, die vor allen fernen Einhängungen einsortiert werden möchte, sie mit einer Abhängigkeit der Art Wants= hereinzieht. Falls die Unit vom Auftauchen der ersten fernen Einhängung hereingezogen werden möchte, sollte sie network-online.target verwenden (siehe oben).

rpcbind.target

portmapper/rpcbind zieht dieses Ziel herein und sortiert sich davor ein, um seine Verfügbarkeit anzuzeigen. Systemd fügt automatisch Abhängigkeiten der Art After= für diese Ziel-Unit zu allen SysV-Init-Skripte-Dienste-Units hinzu, bei denen sich eine LSB-Kopfzeile auf die Einrichtung »$portmap« bezieht.

time-set.target

Dienste, die für die Setzen der Systemuhr von einer lokalen Quelle (wie einer betreuten Zeitstempeldatei oder einer ungenauen Echtzeituhr) verantwortlich sind, sollten dieses Ziel hereinziehen und sich davor einsortieren. Alle Dienste, bei denen eine ungefähre Zeit gewünscht ist, sollten sich nach dieser Unit einsortieren, sie aber nicht hereinziehen. Dieses Ziel stellt nicht die Genauigkeitszusagen von time-sync.target bereit.

time-sync.target

Dienste, die für die Synchronisierung der Systemuhr von einer fernen Quelle (wie eine NTP-Implementierung) verantwortlich sind, sollten dieses Ziel hereinziehen und sich davor einsortieren. Alle Dienste, bei denen eine korrekte Zeit wesentlich ist, sollten sich nach dieser Unit einsortieren, sie aber nicht hereinziehen. Systemd fügt automatisch Abhängigkeiten der Art After= für diese Ziel-Unit zu allen SysV-Init-Skripte-Dienste-Units hinzu, bei denen sich eine LSB-Kopfzeile auf die Einrichtung »$time« bezieht.

Spezielle Scheiben-Units:

Es gibt vier ».slice«-Units, die die Grundlage der Hierarchie für die Zuweisung von Ressourcen für Dienste, Benutzer und virtuelle Maschinen oder Container formen. Siehe systemd.slice(7) für Details über Scheiben-Units.

-.slice

Die Wurzelscheibe ist die Wurzel der Scheiben-Hierarchie. Sie enthält normalerweise keine Units direkt, kann aber Vorgaben für den gesamten Baum setzen.

system.slice

Standardmäßig können alle durch systemd gestarteten Systemdienste in dieser Scheibe gefunden werden.

user.slice

Standardmäßig werden alle Benutzerprozesse und -dienste im Auftrag des Benutzers gestartet, einschließlich der in dieser Scheibe auffindbaren benutzerbezogenen Instanzen. Sie wird durch systemd-logind.service hereingezogen.

machine.slice

Standardmäßig können alle mit systemd-machined registrierten virtuellen Maschinen und Container in dieser Scheibe gefunden werden. Sie wird von systemd-machined.service hereingezogen.

UNITS, DIE VOM BENUTZERDIENSTEVERWALTER VERWALTET WERDEN

Spezielle Benutzer-Units

Wenn Systemd als Benutzerinstanz läuft, sind die folgenden besonderen Units verfügbar:

default.target

Dies ist das Hauptziel der Benutzersitzung und wird standardmäßig gestartet. Verschiedene Dienste, die die normale Benutzersitzung zusammen bilden, sollten in dieses Ziel hineingezogen werden. In dieser Hinsicht ist default.target ähnlich zu multi-user.target in der Systeminstanz, aber es ist eine echte Unit, kein Alias.

Zusätzlich sind die folgenden Units verfügbar, die ähnliche Definitionen wie ihre System-Gegenstücke haben: exit.target, shutdown.target, sockets.target, timers.target, paths.target, bluetooth.target, printer.target, smartcard.target, sound.target.

Spezielle passive Benutzer-Units

graphical-session.target

Diese Ziel-Unit ist aktiv, wannimmer eine graphische Sitzung läuft. Sie wird zum Stoppen der Benutzerdienste, die nur in einer graphischen Sitzung (X, Wayland usw.) gültig sind, wenn die Sitzung beendet wird, verwandt. Solche Dienste sollten ein »PartOf=graphical-session.target« in ihrem Abschnitt »[Unit]« haben. Ein Ziel für eine bestimmte Sitzung (z.B. gnome-session.target) startet und stoppt »graphical-session.target« mit »BindsTo=graphical-session.target«.

Welche Dienste durch ein Sitzungsziel gestartet werden, wird durch die Abhängigkeiten »Wants=« und »Requires=« bestimmt. Für Dienste, die unabhängig aktiviert werden können, sollten Symlinks in ».wants/« und ».requires/« verwandt werden, siehe systemd.unit(5). Diese Symlinks sollten entweder in Paketen ausgeliefert oder dynamisch nach der Installation hinzugefügt werden, beispielsweise mittels »systemctl add-wants«, siehe systemctl(1).

Beispiel 1. Nautilus als Teil einer GNOME-Sitzung »gnome-session.target« zieht Nautilus als Dienst oberster Stufe herein:

[Unit]

Description=Benutzer-Systemd-Dienst für die graphische GNOME-Sitzung
Wants=nautilus.service
BindsTo=graphical-session.target

»nautilus.service« wird gestoppt, wenn die Sitzung stoppt:

[Unit]

Description=Darstellung des Desktop-Icons mit Nautilus
PartOf=graphical-session.target
[Service]

graphical-session-pre.target

Dieses Ziel enthält Dienste, die die Umgebung oder globale Konfigurationen einer graphischen Sitzung einrichten, wie SSH/GPG-Agenten (die eine Umgebungsvariable an alle Desktop-Prozesse exportieren müssen) oder die veraltete D-conf-Schlüssel nach einem Betriebssystem-Upgrade migrieren (was passieren muss, bevor irgendein Prozess, der sie verwenden könnte, gestartet wird). Dieses Ziel muss vor dem Start einer graphischen Sitzung wie gnome-session.target gestartet werden.

xdg-desktop-autostart.target

Die XDG-Spezifikation definiert eine Art, Anwendungen mittels XDG-Desktop-Dateien automatisch zu starten. Systemd liefert systemd-xdg-autostart-generator(8) für die XDG-Desktop-Dateien in Verzeichnissen für automatischen Start. Desktop-Umgebungen können diesen Dienst nach Wunsch verwenden, indem sie eine Wants=-Abhängigkeit auf »xdg-desktop-autostart.target« hinzufügen.

Spezielle Benutzer-Scheiben-Units:

Es gibt vier ».slice«-Units, die die Grundlage der Benutzer-Hierarchie für die Zuweisung von Ressourcen für Benutzeranwendungen und -dienste formen. Siehe systemd.slice(7) für Details über Scheiben-Units und die Dokumentation über Desktop-Umgebungen[3] für weitere Informationen.

-.slice

Die Wurzelscheibe ist die Wurzel der Benutzer-Scheiben-Hierarchie. Sie enthält normalerweise keine Units direkt, kann aber Vorgaben für den gesamten Baum setzen.

app.slice

Standardmäßig werden alle von systemd verwalteten Benutzerdienste und -Anwendungen in dieser Scheibe angetroffen. Alle interaktiv gestarteten Anwendungen wie Web-Browser und Texteditoren sowie nicht kritische Dienste sollten in diese Scheibe abgelegt werden.

session.slice

Alle für die Sitzung benötigten unentbehrlichen Dienste und Anwendungen sollten diese Scheibe verwenden. Dies sind Dienste, die entweder nicht leicht neu gestartet werden können oder bei den Verzögerungsproblematiken die Interaktivität des Systems und der Anwendungen betreffen könnte. Hierzu gehört der Display-Server, Bildschirmvorleseprogramme und andere Dienste wie DBus oder XDG-Portale. Solche Dienste sollten durch Hinzufügen von Slice=session.slice zu ihren Unit-Dateien als Teil dieser Scheibe konfiguriert werden.

background.slice

Alle Dienste, die Hintergrundaufgaben mit niedriger Priorität ausführen, sollten diese Schreibe verwenden. Damit werden Ressourcen bevorzugt anderen Scheiben zugeteilt. Als Beispiele seien nichtinteraktive Aufgaben wie die Indexierung von Dateien oder Sicherungsaktionen genannt, bei denen Verzögerungen keine Rolle spielen.

SIEHE AUCH

systemd(1), systemd.unit(5), systemd.service(5), systemd.socket(5), systemd.target(5), systemd.slice(5), bootup(7), systemd-fstab-generator(8), user@.service(5)

ANMERKUNGEN

1.
Dienste ausführen, nachdem das Netz hochgefahren ist
2.
Syslog-Schnittstelle
3.
Desktop-Umgebungen

Ü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.

systemd 247