SYSTEMCTL(1) systemctl SYSTEMCTL(1) BEZEICHNUNG systemctl - Steuerung des Systemd-Systems und des Diensteverwalters UBERSICHT systemctl [OPTIONEN] BEFEHL [UNIT] BESCHREIBUNG systemctl kann zum Prufen und Steuern des Zustandes des >>Systemd<<-Systems und -Diensteverwalters verwandt werden. Bitte lesen Sie systemd(1) fur eine Einfuhrung in die grundlegenden Konzepte und Funktionalitaten, die dieses Werkezeug verwaltet. BEFEHLE Die folgenden Befehle werden verstanden: Unit-Befehle (Untersuchung und Veranderung) list-units [MUSTER] Listet Units auf, die systemd derzeit im Speicher hat. Dies schliesst Units ein, die entweder direkt oder uber eine Abhangigkeit referenziert sind, Units, die durch Anwendungen programmatisch festgelegt sind und Units, die in der Vergangenheit aktiv waren und fehlschlugen. Standardmassig werden nur Units, die aktiv sind, wartende Auftrage haben oder die fehlschlugen, angezeigt; dies kann mit der Option --all geandert werden. Falls eines oder mehrere MUSTER angegeben sind, werden nur Units, die auf diese passen, angezeigt. Die angezeigten Units werden zusatzlich durch --type= und --state= gefiltert, falls diese Optionen angegeben sind. Beachten Sie, dass dieser Befehl keine Unit-Vorlagen zeigt, sondern nur Instanzen von Unit-Vorlagen. Unit-Vorlagen, die nicht instanziiert sind, konnen nicht ausgefuhrt werden und werden daher niemals in der Ausgabe dieses Befehls auftauchen. Konkret bedeutet dies, dass foo@.service niemals in dieser Liste angezeigt wird - ausser instanziiert, d.h. als foo@bar.service. Verwenden Sie list-unit-files (siehe unten), um installierte Unit-Vorlagendateien aufzulisten. Produziert eine Ausgabe ahnlich zu UNIT LOAD ACTIVE SUB DESCRIPTION sys-module-fuse.device loaded active plugged /sys/module/fuse -.mount loaded active mounted Root Mount boot-efi.mount loaded active mounted /boot/efi systemd-journald.service loaded active running Journal Service systemd-logind.service loaded active running Login Service user@1000.service loaded failed failed User Manager for UID 1000 systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 123 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'. Die Kopfzeilen und die letzte Unit des angegebenen Typs werden unterstrichen, falls das Terminal dies unterstutzt. Ein farbiger Punkt wird neben den Diensten, die maskiert, nicht gefunden oder sonstwie fehlgeschlagen sind, angezeigt. Die Spalte LOAD zeigt den Ladezustand, einen aus loaded, not-found, bad-setting, error, masked. Die Spalte ACTIVE zeigt den allgemeinen Unit-Zustand, einen aus active, reloading, inactive, failed, activating, deactivating. Die Spalte SUB zeigt den Unit-Typ-spezifischen detaillierten Zustand der Unit, mogliche Werte hangen vom Unit-Typ ab. Die Liste der moglichen LOAD-, ACTIVE- und SUB-Zustande ist nicht konstant und neue Systemd-Veroffentlichungen konnen sowohl Werte hinzufugen als auch welche entfernen. systemctl --state=help Der Befehl kann zur Anzeige der aktuell moglichen Menge von Werten verwandt werden. Dies ist der Standardbefehl. list-automounts [MUSTER] Listet aktuell im Speicher befindliche Automount-Units, sortiert nach dem Einhangepfad, auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur Automount-Units, die darauf passen, angezeigt. Produziert Ausgabe ahnlich zu WHAT WHERE MOUNTED IDLE TIMEOUT UNIT /dev/sdb1 /mnt/test no 120s mnt-test.automount binfmt_misc /proc/sys/fs/binfmt_misc yes 0 proc-sys-fs-binfmt_misc.automount 2 automounts listed. Siehe auch --show-types, --all und --state=. Hinzugefugt in Version 252. list-paths [MUSTER] Listet aktuell im Speicher befindliche Pfad-Units, sortiert nach dem Pfad, auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur Pfad-Units, die darauf passen, angezeigt. Produziert Ausgabe ahnlich zu PATH CONDITION UNIT ACTIVATES /run/systemd/ask-password DirectoryNotEmpty systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service /run/systemd/ask-password DirectoryNotEmpty systemd-ask-password-wall.path systemd-ask-password-wall.service /var/cache/cups/org.cups.cupsd PathExists cups.path cups.service 3 paths listed. Siehe auch --show-types, --all und --state=. Hinzugefugt in Version 254. list-sockets [MUSTER] Listet aktuell im Speicher befindliche Socket-Units, sortiert nach der Adresse, auf der sie auf Anfragen warten, auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur Socket-Units, die darauf passen, angezeigt. Produziert Ausgabe ahnlich zu LISTEN UNIT ACTIVATES /dev/initctl systemd-initctl.socket systemd-initctl.service ... [::]:22 sshd.socket sshd.service kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service 5 sockets listed. Beachten Sie: Da die Adressen Leerzeichen enthalten konnen, ist diese Ausgabe nicht fur die programmatische Verarbeitung geeignet. Siehe auch --show-types, --all und --state=. Hinzugefugt in Version 202. list-timers [MUSTER] Listet aktuell im Speicher befindliche Timer-Units, sortiert nach der Zeit, zu der sie ablaufen, auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur Units, die darauf passen, angezeigt. Produziert Ausgabe ahnlich zu NEXT LEFT LAST PASSED UNIT ACTIVATES - - Thu 2017-02-23 13:40:29 EST 3 days ago ureadahead-stop.timer ureadahead-stop.service Sun 2017-02-26 18:55:42 EST 1min 14s left Thu 2017-02-23 13:54:44 EST 3 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service Sun 2017-02-26 20:37:16 EST 1h 42min left Sun 2017-02-26 11:56:36 EST 6h ago apt-daily.timer apt-daily.service Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago snapd.refresh.timer snapd.refresh.service NEXT zeigt die nachste Zeit, zu der der Timer lauft. LEFT zeigt die Zeitdauer, bis der Timer das nachste Mal lauft. LAST zeigt die Zeit, zu der der Timer das letzte Mal lief. PASSED zeigt, welche Zeit vergangen ist, seitdem der Timer letztmalig lief. UNIT zeigt den Namen des Timers ACTIVATES zeigt den Namen des Dienstes, den der Timer beim Laufen aktiviert. Siehe auch --all und --state=. Hinzugefugt in Version 209. is-active MUSTER Pruft, ob eine der angegebenen Units aktiv ist (d.h. lauft). Liefert einen Exit-Code von 0, falls mindestens eine aktiv ist oder einen von Null verschiedenen Wert andernfalls. Ausser wenn --quiet angegeben ist, wird dies auch den aktuellen Zustand der Unit auf der Standardausgabe ausgeben. is-failed [MUSTER] Pruft, ob eine der angegebenen Units im >>fehlgeschlagenen<< Zustand ist. Falls keine Unit angegeben ist, pruft, ob es irgendwelche fehlgeschlagene Units gibt, die dem >>degradierten<< Zustand entsprechen, der von is-system-running zuruckgeliefert werden. Liefert einen Exit-Code von 0, falls mindestens eine fehlgeschlagen ist oder einen von Null verschiedenen Wert andernfalls. Ausser wenn --quiet angegeben ist, wird dies auch den aktuellen Zustand der Unit oder des Systems auf der Standardausgabe ausgeben. Hinzugefugt in Version 197. status [MUSTER|PID]] Zeigt Laufzeitstatusinformationen uber das gesamte System oder uber eine oder mehrere Units, gefolgt von den den jungsten Protokolldaten aus dem Journal. Falls keine positionsabhangigen Argumente angegeben sind und kein Unit-Filter mit --type=, --state= oder --failed ubergeben wurden, wird der Status des gesamten Systems angezeigt. Falls mit --all kombiniert, folgt diesem der Status aller Units. Falls positionsabhangige Argumente angegeben wurden, wird jedes positionsabhangige Argument als entweder ein anzuzeigender Unit-Name oder als ein Glob-Muster, um Units anzuzeigen, deren Namen auf das Muster passen oder als PID, um Units, die diese PID enthalten, anzuzeigen, betrachtet. Wird --type=, --state= oder --failed verwandt, werden Units zusatzlich durch den Zustand TYPE und ACTIVE gefiltert. Diese Funktion ist zur Erstellung menschenlesbarer Ausgabe gedacht. Falls Sie nach Computer-auswertbarer Ausgabe suchen, verwenden Sie stattdessen show. Standardmassig zeigt diese Funktion nur die letzten 10 Ausgabezeilen und verkurzte Zeilen, um in das Terminal-Fenster zu passen. Dies kann mit --lines und --full geandert werden, siehe oben. Zusatzlich verwenden journalctl --unit=NAME oder journalctl --user-unit=NAME einen ahnlichen Filter fur Nachrichten und konnten praktischer sein. Beachten Sie, dass diese Aktion nur den Laufzeit-Status anzeigt, d.h. Informationen uber den aktuellen Aufruf der Unit (falls sie lauft) oder den letzten Aufruf (falls sie nicht mehr lauft und noch nicht vom Speicher freigegeben wurde). Informationen uber fruhere Aufrufe, Aufrufe von vorhergehenden Systemstarts oder fruhere Aufrufe, bei denen bereits der Speicher freigegeben wurde, konnten mittels journalctl --unit= abgerufen werden. Systemd ladt Units implizit nach Notwendigkeit, daher wird die reine Ausfuhrung von status versuchen, eine Datei zu laden. Der Befehl ist daher nicht nutzlich, um zu bestimmen, ob etwas bereits geladen war oder nicht. Die Units konnten sich auch schnell entladen, nachdem die Aktion abgeschlossen ist, falls es keinen Grund gibt, sie danach im Speicher zu halten. Beispiel 1. Beispielausgabe von systemctl status $ systemctl status bluetooth bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled) Active: active (running) since Wed 2017-01-04 13:54:04 EST; 1 weeks 0 days ago Docs: man:bluetoothd(8) Main PID: 930 (bluetoothd) Status: "Running" Tasks: 1 Memory: 648.0K CPU: 435ms CGroup: /system.slice/bluetooth.service 930 /usr/lib/bluetooth/bluetoothd Jan 12 10:46:45 example.com bluetoothd[8900]: Not enough free handles to register service Jan 12 10:46:45 example.com bluetoothd[8900]: Current Time Service could not be registered Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output error (5) Der Punkt (>><<) verwendet auf unterstutzten Terminals Farbe, um den Unit-Zustand auf einen Blick zusammenzufassen. Zusammen mit seiner Farbe andert sich die Form entsprechend seines Zustandes: >>inaktiv<< oder >>Wartung<< ist ein weisser Kreis (>>O<<), >>aktiv<< ist ein gruner Punkt (>><<), >>Deaktivierend<< ist ein weisser Punkt, >>Fehlgeschlagen<< oder >>Fehler<< ist ein rotes Kreuz (>>x<<) und >>Neuladend<< ist ein gruner Kreispfeil im Uhrzeigersinn (>><<). Die Zeile >>Loaded:<< in der Ausgabe wird >>loaded<< anzeigen, falls die Unit in den Speicher geladen wurde. Andere mogliche Werte fur >>Loaded:<< sind u.A.: >>error<<, falls es ein Problem beim Laden gab, >>not-found<<, falls fur diese Unit keine Unit-Datei gefunden wurde, >>bad-setting<<, falls eine essenzielle Unit-Datei-Einstellung nicht ausgewertet werden konnte und >>masked<<, falls die Unit-Datei maskiert wurde. Zusammen mit dem Pfad zu der Unit-Datei wird diese Zeile auch den Freigabezustand anzeigen. Freigegebene Units werden in das Abhangigkeitsnetzwerk zwischen Units aufgenommen und daher beim Systemstart oder uber andere Art der Aktivierung gestartet. Lesen Sie die vollstandige Tabelle der moglichen Freigabezustande -- einschliesslich der Definition von >>masked<< in der Dokumentation fur den Befehl >>is-enabled<<. Die Zeile >>Active:<< zeigt den aktiven Zustand. Der Wert ist normalerweise >>active<< oder >>inactive<<. Aktiv kann gestartet, gebunden, eingesteckt usw., abhangig vom Unit-Typ, sein. Die Unit konnte auch gerade dabei sein, ihre Zustande zu andern und einen Zustand >>activating<< oder >>deactivating<< melden. Ein besonderer Zustand >>failed<< wird erreicht, wenn der Zustand auf irgendeine Art, z.B. durch einen Absturz, der Beendigung mit einem Fehler-Code oder einer Zeituberschreitung, fehlgeschlagen ist. Falls ein Fehlerzustand erreicht wurde, wird der Grund protokolliert. show [MUSTER|AUFTRAG] Zeigt die Eigenschaften einer oder mehrerer Units, von Auftragen oder dem Verwalter selbst. Falls kein Argument angegeben ist, werden die Eigenschaften des Verwalters angezeigt. Falls ein Unit-Name angegeben ist, werden die Eigenschaften der Unit angezeigt und falls eine Auftragskennung angegeben ist, werden die Eigenschaften des Auftrags angezeigt. Standardmassig werden leere Eigenschaften unterdruckt. Verwenden Sie --all, um diese auch anzuzeigen. Um bestimmte anzuzeigende Eigenschaften auszuwahlen, verwenden Sie --property=. Dieser Befehl ist dazu gedacht, wannimmer Computer-auswertbare Ausgabe benotigt wird. Verwenden Sie status, falls Sie formatierte, menschenlesbare Ausgabe wunschen. Viele durch systemctl show gezeigte Eigenschaften konnen direkt auf Konfigurationseigenschaften des System- und Diensteverwalters und seiner Unit-Dateien abgebildet werden. Beachten Sie, dass die durch den Befehl angezeigten Eigenschaften im Allgemeinen systemnahe, normalisierte Versionen der ursprunglichen Konfigurationseinstellungen sind und zusatzlich zur Konfiguration Laufzeitzustand offenlegen. Eigenschaften fur Dienste-Units enthalten beispielsweise die Kennzeichnung des aktuellen Hauptprozesses des Dienstes als >>MainPID<< (was Laufzeitzustand ist) und die Zeiteinstellungen werden immer als Eigenschaften, die in >>Sec<< enden, offengelegt, da Mikrosekunden die vom System- und Diensteverwalter intern verwandte normierte Zeiteinheit sind. Fur Details zu vielen dieser Eigenschaften lesen Sie die Dokumentation der diesen Eigenschaften zugrundeliegenden D-Bus-Schnittstellen, siehe org.freedesktop.systemd1(5). cat MUSTER Zeigt zugrundeliegende Dateien von einer oder mehr Units. Gibt die >>Fragmente<< und >>Erganzungsdateien<< (Quelldateien) von Units aus. Jeder Datei wird ein Kommentar vorangestellt, der den Dateinamen enthalt. Beachten Sie, dass dieses die Inhalte der auf Platte zugrundeliegenden Dateien anzeigt, was sich von dem unterscheiden kann, was der Systemverwalter von diesen Units denkt, falls die Units seitdem aktualisiert wurden und nicht der Befehl daemon-reload aufgerufen worden war. Hinzugefugt in Version 209. help MUSTER|PID Zeigt die Handbuchseiten fur eine oder mehrere Units, falls verfugbar. Falls eine PID ubergeben wird, wird die Handbuchseite fur die Unit, zu der der Prozess gehort, gezeigt. Hinzugefugt in Version 185. list-dependencies [UNIT] Zeigt Units, die von den angegebenen Units benotigt und gewunscht werden. Diese rekursive Liste folgt den Abhangigkeiten Requires=, Requisite=, Wants=, ConsistsOf=, BindsTo= und Upholds=. Falls keine Units angegeben sind, wird default.target impliziert. Die angezeigten Units werden zusatzlich durch --type= und --state= gefiltert, falls diese Optionen angegeben wurden. Beachten Sie, dass in diesem Fall keine Baumstruktur verwandt werden kann, daher wird --plain impliziert. Standardmassig werden nur Ziel-Units rekursiv expandiert. Wenn --all ubergeben wird, werden auch alle anderen Units rekursiv expandiert. Die Optionen --reverse, --after, --before konnen zur Anderung, welche Abhangigkeitsarten gezeigt werden, verwandt werden. Beachten Sie, dass dieser Befehl nur die derzeit durch den Diensteverwalter im Speicher geladenen Units auffuhrt. Insbesondere ist dieser Befehl nicht dazu geeignet, eine vollstandige Liste aller inversen Abhangigkeiten einer bestimmten Unit zu erhalten, da es nicht die von Units erklarten Abhangigkeiten auffuhrt, die derzeit nicht geladen sind. Hinzugefugt in Version 198. start MUSTER Startet (aktiviert) eine oder mehrere auf der Befehlszeile angegebene Units. Beachten Sie, dass Unit-Glob-Muster auf die Namen der Units, die momentan im Arbeitsspeicher sind, expandieren. Units, die nicht aktiv und nicht in einem fehlgeschlagenen Zustand sind, sind normalerweise nicht im Speicher und es wird kein Muster auf sie passen. Bei instanziierten Units ist Systemd zusatzlich oft in Unkenntnis uber den Instanzennamen, bis die Instanz gestartet wurde. Daher hat die Verwendung von Glob-Mustern mit start nur begrenzten Nutzen. Auch werden sekundare Alias-Namen von Units nicht berucksichtigt. Die Option --all kann auch zum Einsatz auf inaktive Units, die von anderen geladenen Units referenziert werden, verwandt werden. Beachten Sie, dass dies nicht identisch zum Einsatz auf >>alle<< moglichen Units ist, da diese Liste nicht korrekt definiert ist, wie im vorherigen Absatz beschrieben. Dennoch mag systemctl start --all GLOB nutzlich sein, falls alle Units, die auf das Muster passen, durch ein Ziel hereingezogen werden, welches bekanntermassen geladen wird. stop MUSTER Stoppt (deaktiviert) eine oder mehrere auf der Befehlszeile angegebene Units. Dieser Befehl wird fehlschlagen, falls die Unit nicht existiert oder falls das Stoppen der Unit verboten ist (siehe RefuseManualStop= in systemd.unit(5)). Er wird nicht fehlschlagen, falls einer der fur das Stoppen der Unit konfigurierten Befehle ((ExecStop= usw.) fehlschlagt, da der Verwalter dennoch die Unit zwangsweise beenden wird. Falls eine Unit, die gestoppt wird, von anderen Units ausgelost wird, wird eine Warnung angezeigt, die die Namen der auslosenden Units enthalt. Diese Warnung kann mit --no-warn unterdruckt werden. reload MUSTER Bittet alle auf der Befehlszeile aufgefuhrten Units, ihre Konfiguration neu zu laden. Beachten Sie, dass dies die Dienste-spezifische Konfiguration neu ladt, nicht die Unit-Konfiguration von Systemd. Falls Sie mochten, dass Systemd die Konfiguration einer Unit neu ladt, verwenden Sie den Befehl daemon-reload. Mit anderen Worten: Im Falle von Apache wird dies die httpd.conf neu in den Webserver laden, nicht die Systemd-Unit-Datei apache.service. Dieser Befehl sollte nicht mit dem Befehl daemon-reload verwechselt werden. restart MUSTER Stoppt und startet eine oder mehrere auf der Befehlszeile ubergebene Units. Falls die Units noch nicht laufen, werden sie gestartet. Beachten Sie, dass das Neustarten einer Unit mit diesem Befehl nicht notwendigerweise alle Ressourcen der Unit herrausschreibt, bevor sie neu gestartet wird. Beispielsweise wird die Dienste-bezogene Dateideskriptorspeichereinrichtung (siehe FileDescriptorStoreMax= in systemd.service(5)) intakt bleiben, solange ein Auftrag in der Unit wartet und wird nur bereinigt, wenn die Unit komplett gestoppt wird und keine Auftrage mehr warten. Falls gewunscht ist, dass der Dateideskriptorspeicher auch rausgeschrieben wird, dann sollte wahrend der Neustartaktion ein expliziter Befehl systemctl stop gefolgt von systemctl start eingegeben werden. try-restart MUSTER Stoppt und startet eine oder mehrere auf der Befehlszeile angegebene Units, falls die Units laufen. Dies ist wirkungslos, falls die Units nicht laufen. reload-or-restart MUSTER Ladt eine oder mehrere Units neu, falls sie das unterstutzen. Falls nicht, werden sie stattdessen gestoppt und dann gestartet. Falls die Units noch nicht laufen, werden sie gestartet. try-reload-or-restart MUSTER Ladt eine oder mehrere Units neu, falls sie das unterstutzen. Falls nicht, werden sie stattdessen gestoppt und neugestartet. Dies ist wirkungslos, falls die Units nicht laufen. Hinzugefugt in Version 229. isolate UNIT Startet die auf der Befehlszeile angegebene Unit und ihre Abhangigkeiten und stoppt alle anderen, ausser sie haben IgnoreOnIsolate=yes (siehe systemd.unit(5)). Falls ein Unit-Name ohne Erweiterung angegeben wird, wird eine Erweiterung >>.target<< angenommen. Dieser Befehl ist gefahrlich, da er sofort Prozesse stoppen wird, die in dem neuen Ziel nicht freigegeben sind, moglicherweise einschliesslich der graphischen Umgebung oder des Terminals, das Sie gerade benutzen. Beachten Sie, dass diese Aktion nur auf Units erlaubt ist, bei denen AllowIsolate= aktiviert ist. Siehe systemd.unit(5) fur Details. kill MUSTER Sendet ein UNIX-Prozesssignal an einen oder mehrere Prozesse der Unit. Verwenden Sie --kill-whom=, um den Prozess auszuwahlen, an den das Signal gesandt werden soll. Verwenden Sie --signal=, um das zu sendende Signal auszuwahlen. Kombinieren Sie dies mit --kill-value=, um ein POSIX-Echtzeitsignal mit einem zugehorigen Wert in die Warteschlange zu stellen. clean MUSTER Entfernt die Konfiguration, den Zustand, den Zwischenspeicher, die Protokolle oder die Laufzeitdaten der angegebenen Units. Verwenden Sie --what=, um auszuwahlen, welche Ressourcenarten Sie entfernen mochten.Fur Dienste-Units kann dies zur Entfernung von mit ConfigurationDirectory=, StateDirectory=, CacheDirectory=, LogsDirectory= und RuntimeDirectory= konfigurierten Verzeichnissen verwandt werden, siehe systemd.exec(5) fur Details. Es kann auch zum Bereinigen des mittels FileDescriptorStoreMax= aktivierten Dateideskriptorspeichers verwandt werden, siehe systemd.service(5) zu Details. Fur Timer-Units kann dies zur Bereinigung der dauerhaften Zeitstempeldaten verwandt werden, falls Persistent= eingesetzt und --what=state ausgewahlt ist, siehe systemd.timer(5). Dieser Befehl wird nur auf Unit angewandt, die eine dieser Einstellungen verwenden. Falls --what= nicht angegeben ist, werden der Zwischenspeicher- und Laufzeitdaten sowie der Dateideskriptorspeicher entfernt (da diese drei Datenarten im Allgemeinen redundant und beim nachsten Aufruf der Unit reproduzierbar sind). Beachten Sie, dass die angegebenen Units gestoppt sein mussen, um diese Aktion aufzurufen. Hinzugefugt in Version 243. freeze MUSTER Friert eine oder mehrere auf der Befehlszeile angegebene Units mittels des Cgroup-Freezers ein. Einfrieren einer Unit fuhrt dazu, dass alle Prozesse in der der Unit entsprechenden Cgroup suspendiert werden. Suspendiert sein bedeutet, dass die Prozesse der Unit nicht zur Ausfuhrung auf einer CPU eingeplant werden, bis die Unit aufgetaut wird. Beachten Sie, dass dieser Befehl nur auf Systemen unterstutzt wird, die die vereinigte Cgroup-Hierarchie verwenden. Die Unit wird automatisch aufgetaut, genau bevor ein Auftrag gegen die Unit ausgefuhrt wird, z.B. bevor die Unit gestoppt wird. Hinzugefugt in Version 246. thaw MUSTER Taut eine oder mehrere auf der Befehlszeile angegebenen Units auf. Dies ist die inverse Aktion zum Befehl freeze und nimmt die Ausfuhrung von Prozessen in der Cgroup der Unit wieder auf. Hinzugefugt in Version 246. set-property UNIT EIGENSCHAFT=WERT Setzt die angegebenen Unit-Eigenschaften zur Laufzeit, wo dies unterstutzt wird. Dies erlaubt die Anderung von Konfigurationsparametereigenschaften wie Ressourcensteuereinstellungen zur Laufzeit. Es konnen nicht alle Eigenschaften zur Laufzeit geandert werden, aber viele Ressourcensteuereinstellungen (primar die in systemd.resource-control(5)). Die Anderungen werden sofort angewandt und auf Platte fur zukunftige Systemstarts gespeichert, ausser --runtime wird ubergeben, wodurch die Einstellungen nur bis zum nachsten Systemneustart angewandt werden. Die Syntax der Eigenschaftszuweisung folgt eng der Syntax der Zuweisungen in Unit-Dateien. Beispiel: systemctl set-property foobar.service CPUWeight=200 Falls die angegebene Unit-Datei inaktiv zu sein scheint, werden die Anderungen nur wie fruher beschrieben auf Platte gespeichert, daher werden sie erst beim Starten der Unit zur Geltung kommen. Beachten Sie, dass dieser Befehl das Andern mehrerer Eigenschaften auf einmal erlaubt, was gegenuber der individuellen Einstellung bevorzugt werden sollte. Beispiel: systemctl set-property foobar.service CPUWeight=200 MemoryMax=2G IPAccounting=yes Wie bei Unit-Konfigurationseinstellungen fuhrt die Zuweisung der leeren Einstellung normalerweise zum Zurucksetzen einer Eigenschaft auf ihre Vorgaben. Beispiel: systemctl set-property avahi-daemon.service IPAddressDeny= Hinzugefugt in Version 206. bind UNIT PFAD [PFAD] Hangt eine Datei oder ein Verzeichnis von dem Rechner in den angegebenen Einhange-Namensraum der Unit mit bind ein. Das erste Pfadargument ist die Quelldatei oder das Quellverzeichnis auf dem Rechner, das zweite Pfadargument ist die Zieldatei oder das Zielverzeichnis in dem Einhange-Namensraum der Unit. Falls letzteres fehlt, ist der Zielpfad in dem Einhange-Namensraum der Unit identisch zum Quellpfad im Rechner. Wird dies mit dem Schalter --read-only kombiniert, dann wird eine nur-lesbare Bind-Einhangung erstellt. Wird dies mit dem Schalter --mkdir kombiniert, dann wird der Zielpfad zuerst erstellt, bevor die Einhangung angewandt wird. Beachten Sie, dass diese Option zur Zeit nur fur Units unterstutzt wird, die innerhalb eines Einhangenamensraums ausgefuhrt werden (z.B.: mit RootImage=, PrivateMounts= usw.). Dieser Befehl unterstutzt die Bind-Einhangung von Verzeichnissen, regularen Dateien, Gerateknoten, AF_UNIX-Socket-Knoten sowie FIFOs. Die Bind-Einhangung ist fluchtig und wird sofort zuruckgenommen, sobald sich die Prozesse der aktuellen Unit beenden. Beachten Sie, dass der hier erwahnte Namensraum, zu dem die Bind-Einhangung hinzugefugt wird, derjenige ist, in dem der Hauptdiensteprozess ausgefuhrt wird. Andere Prozesse (die von ExecReload=, ExecStartPre= usw. ausgefuhrt werden) laufen in einem dedizierten Namensraum. Falls vom Kernel unterstutzt, wird jede vorherige Einhangung auf dem ausgewahlten Ziel durch die neue Einhangung ersetzt. Falls nicht unterstutzt, wird uber jede vorherige Einhangung druber eingehangt, bleibt aber festgelegt und nicht zugreifbar. Hinzugefugt in Version 248. mount-image UNIT ABBILD [PFAD [PARTITIONSNAME:EINHANGEOPTIONEN]] Hangt eine Abbild von dem Rechner in den angegebene Einhange-Namensraum der Unit ein. Das erste Pfadargument ist das Quellabbild auf dem Rechner, das zweite Pfadargument ist das Zielverzeichnis in dem Einhange-Namensraum der Unit (d.h. innerhalb von RootImage=/RootDirectory=). Die folgenden Argumente, falls vorhanden, werden als Doppelpunkt-getrenntes Tupel von Partitionsnamen und Kommata-getrennten Listen von Einhangeoptionen fur diese Partition interpretiert. Das Format ist identisch zu der Diensteeinstellung MountImages=. Wird dies mit dem Schalter --read-only kombiniert, dann wird eine nur-lesbare Einhangung erstellt. Wird dies mit dem Schalter --mkdir kombiniert, dann wird der Zielpfad zuerst erstellt, bevor die Einhangung angewandt wird. Beachten Sie, dass diese Option zur Zeit nur fur Units unterstutzt wird, die innerhalb eines Einhangenamensraums ausgefuhrt werden (d.h. mit RootImage=, PrivateMounts= usw.). Beachten Sie, dass der hier erwahnte Namensraum, zu dem die Abbild-Einhangung hinzugefugt wird, derjenige ist, in dem der Hauptdiensteprozess ausgefuhrt wird. Beachten Sie, dass der hier erwahnte Namensraum, zu dem die Bind-Einhangung hinzugefugt wird, der ist, in dem der Hauptdiensteprozess lauft. Andere Prozesse (die von ExecReload=, ExecStartPre=, usw. ausgefuhrt werden), laufen in einem dedizierten Namensraum. Falls vom Kernel unterstutzt, wird jede vorherige Einhangung auf dem ausgewahlten Ziel durch die neue Einhangung ersetzt. Falls nicht unterstutzt, wird uber jede vorherige Einhangung druber eingehangt, bleibt aber festgelegt und nicht zugreifbar. Beispiel: systemctl mount-image foo.service /tmp/img.raw /var/lib/image root:ro,nosuid systemctl mount-image --mkdir bar.service /tmp/img.raw /var/lib/baz/img Hinzugefugt in Version 248. service-log-level DIENST [STUFE] Gibt die aktuelle Protokollierstufe, wie sie von DIENST gemeldet wird, aus, falls das Argument STUFE nicht angegeben ist. Falls das optionale Argument STUFE bereitgestellt wird, dann wird die aktuelle Protokollierstufe des Dienstes auf STUFE geandert. Die Protokollierstufe sollte eine typische Syslog-Protokollierstufe sein, d.h. ein Wert im Bereich 07 oder eine der Zeichenketten emerg, alert, crit, err, warning, notice, info, debug; siehe syslog(3) fur Details. Der Dienst muss uber die geeignete Eigenschaft BusName=Ziel verfugen und auch die generische Schnittstelle org.freedesktop.LogControl1(5) implementieren. (Systemctl wird das generische D-Bus-Protokoll zum Zugriff auf die Schnittstelle org.freedesktop.LogControl1.LogLevel fur den D-Bus-Namen Ziel verwenden.) Hinzugefugt in Version 247. service-log-target DIENST [ZIEL] Gibt das aktuelle Protokollierziel, wie es von DIENST gemeldet wird, aus, falls das Argument ZIEL nicht angegeben ist. Falls das optionale Argument ZIEL bereitgestellt wird, dann wird das aktuelle Protokollierziel des Dienstes auf ZIEL geandert. Das Protokollierziel sollte eine der Zeichenketten console (fur das Protokollieren in den Standardfehlerausgabestroms des Dienstes), kmsg (fur das Protokollieren in den Kernelprotokollpufer), journal (fur das Protokollieren nach systemd-journald.service(8) mittels des nativen Journal-Protokolls), syslog (fur das Protokollieren in das klassische Syslog-Socket /dev/log), null (fur keine Protokollierung) oder auto (fur eine automatisch bestimmte Auswahl, typischerweise aquivalent zu console, falls der Dienst interaktiv aufgerufen wurde und andernfalls journal oder syslog) sein. Fur die meisten Dienste ergeben nur eine kleine Teilmenge der Protokollierziele Sinn. Insbesondere sollten >>normale<< Dienste nur console, journal und null implementieren. Alles andere ist nur fur systemnahe Dienste angemessen, die in der sehr fruhen Systemstartphase aktiv sind, bevor korrekte Protokollierung etabliert ist. Der Dienst muss uber die geeignete Eigenschaft BusName=Ziel verfugen und auch die generische Schnittstelle org.freedesktop.LogControl1(5) implementieren. (Systemctl wird das generische D-Bus-Protokoll zum Zugriff auf die Schnittstelle org.freedesktop.LogControl1.LogLevel fur den D-Bus-Namen Ziel verwenden.) Hinzugefugt in Version 247. reset-failed [MUSTER] Setzt den Zustand >>failed<< der angegebenen Unit zuruck oder, falls kein Unit-Name ubergeben wird, setzt den Zustand aller Units zuruck. Wenn eine Unit auf irgendeine Art fehlschlagt (d.h. sich der Prozess mit einem von Null verschiedenen Fehler-Code beendet, sich abnormal beendet oder in eine Zeituberschreitung lauft), tritt sie automatisch in den Zustand >>failed<< und ihr Exit-Code und ihr Status wird zur Prufung durch den Administrator aufgezeichnet, bis der Dienst gestoppt/neugestartet oder mit diesem Befehl zuruckgesetzt ist. Zusatzlich zum Zurucksetzen des Status >>failed<< einer Unit setzt dies auch verschiedene andere Unit-bezogene Eigenschaften zuruck: der Startratenbegrenzungszahler aller Unit-Typen wird auf Null zuruckgesetzt, wie auch der Neustartzahler von Dienste-Units. Falls daher die Startbegrenzung (wie mit StartLimitIntervalSec=/StartLimitBurst= konfiguriert) einer Unit erreicht wird und die Unit es ablehnt, erneut gestartet zu werden, verwenden Sie diesen Befehl, um sie wieder startbar zu bekommen. whoami [PID] Liefert die Units zuruck, zu denen die uber die PIDs referenzierten Prozesse gehoren (eine pro Zeile). Falls keine PID angegeben ist, wird die Unit zuruckgegeben, in der der Befehl systemctl aufgerufen wird. Hinzugefugt in Version 254. Unit-Dateibefehle list-unit-files [MUSTER] Listet auf dem System installierte Units zusammen mit ihrem Freigabezustand (wie von is-enabled) gemeldet) auf. Falls ein oder mehrere Muster angegeben sind, werden nur Units, deren Name auf sie passen, gezeigt (Muster, die auf Unit-Dateisystempfade passen, werden nicht unterstutzt). Anders als list-units wird dieser Befehl zusatzlich zu den explizit instanziierten Units Vorlagenunits auflisten. Hinzugefugt in Version 233. enable UNIT, enable PFAD Gibt eine oder mehrere Units oder Unit-Instanzen frei. Dies wird eine Gruppe von Symlinks erzeugen, wie dies in dem Abschnitt >>[Install]<< der angezeigten Unit-Dateien kodiert ist. Nachdem die Symlinks erstellt wurden, wird die Systemverwalterkonfiguration neu geladen (auf einer zu daemon-reload aquivalenten Art), um sicherzustellen, dass die Anderungen sofort berucksichtigt werden. Beachten Sie, dass dies nicht den Effekt hat, dass die freigegebenen Units auch gestartet werden. Falls dies gewunscht ist, kombinieren Sie den Befehl mit dem Schalter --now oder rufen Sie spater start mit geeigneten Argumenten auf. Beachten Sie, dass bei der Freigabe von Unit-Instanzen (d.h. Freigabe von Units der Form foo@bar.service) Symlinks mit dem gleichen Namen wie die erstellten Instanzen im Unit-Konfigurationsverzeichnis erstellt werden, allerdings zeigen sie auf die einzelne Vorlagen-Unit-Datei, aus der sie instanziiiert wurden. Dieser Befehl erwartet entweder gultige Unit-Namen (in diesem Fall werden verschiedene Unit-Datei-Verzeichnisse automatisch nach Unit-Dateien mit geeigneten Namen durchsucht) oder absolute Pfade zu Unit-Dateien (in diesem Fall werden die Dateien direkt eingelesen). Falls eine angegebene Unit-Datei sich ausserhalb der gewohnlichen Unit-Dateiverzeichnisse befindet, wird ein zusatzlicher Symlink erstellt, der sie in den Unit-Konfigurationspfad verlinkt, und daher sicherstellt, dass sie durch Befehle wie start gefunden wird. Das Dateisystem, in dem sich die verlinkten Unit-Dateien befinden, muss verfugbar sein, wenn Systemd gestartet wird (z.B. ist alles unterhalb von /home/ oder /var/ nicht erlaubt, ausser diese Verzeichnisse befinden sich auf dem Wurzeldateisystem). Dieser Befehl wird die ausgefuhrten Dateisystemaktionen ausgeben. Diese Ausgabe kann durch Ubergabe von --quiet unterdruckt werden. Beachten Sie, dass diese Aktion nur die in dem Abschnitt >>[Install]<< der Unit-Dateien vorgeschlagenen Symlinks erstellt. Obwohl dieser Befehl die empfohlene Art ist, das Unit-Konfigurationsverzeichnis zu bearbeiten, steht es dem Administrator frei, manuell zusatzliche Anderungen vorzunehmen, indem er in diesem Verzeichnis Symlinks anlegt oder entfernt. Dies ist besonders nutzlich, um Konfigurationen zu erstellen, die von den vorgeschlagenen Standardinstallationen abweichen. In diesem Falle muss der Administrator sicherstellen, daemon-reload wo notwendig aufzurufen, um sicherzustellen, dass die Anderungen berucksichtigt werden. Wird diese Aktion auf Units ohne Installationsinformationen angewandt, wird dauber eine Warnung angezeigt. Diese Warnung kann mit --no-warn unterdruckt werden. Freigeben von Units sollte nicht mit dem Starten (Aktivieren) verwechselt werden, wie dies durch den Befehl start erfolgt. Freigeben und starten von Units ist orthogonal: Units konnen freigegeben sein, ohne gestartet zu sein und gestartet, ohne freigegeben zu sein. Die Freigabe hangt die Unit an verschiedenen vorgeschlagenen Stellen ein (beispielsweise so, dass die Unit automatisch beim Systemstart gestartet wird oder wenn ein bestimmte Art von Hardware eingesteckt wird). Starten fuhrt den Daemon-Prozess tatsachlich aus (im Falle von Dienste-Units) oder bindet das Socket (im Falle von Socket-Units) und so weiter. Abhangig davon ob --system, --user, --runtime oder --global angegeben wurde, gibt dies die Unit fur das System, nur den aufrufenden Benutzer, nur fur diesen Systemstart oder fur alle zukunftigen Anmeldungen aller Benutzer frei. Beachten Sie, dass in letzterem Fall keine Systemd-Daemonkonfiguration neu geladen wird. Die Verwendung von enable auf maskierten Units wird nicht unterstutzt und fuhrt zu einem Fehler. disable UNIT Schaltet eine oder mehrere Units aus. Dies entfernt alle Symlinks auf die Unit-Dateien, die den angegebenen Units aus dem Unit-Konfigurationsverzeichnis hinterlegt sind und nimmt daher alle durch enable oder link vorgenommenen Anderungen zuruck. Beachten Sie, dass dies alle Symlinks auf passende Unit-Dateien entfernt, einschliesslich manuell erstellter Symlinks, und nicht nur die tatsachlich von enable oder link erstellten. Beachten Sie, dass zwar disable den Effekt von enable ruckgangig macht, die zwei Befehle aber ansonsten nicht symmetrisch sind, da disable mehr Symlinks entfernen konnte, als ein vorheriger Aufruf von enable fur die gleiche Unit erstellte. Dieser Befehl erwartet nur gultige Unit-Namen, er akzeptiert keine Pfade zu Unit-Dateien. Zusatzlich zu den als Argument angegebenen Unit-Dateien werden alle Units ausgeschaltet, die in der in Abschnitt >>[Install]<< aufgefuhrten Einstellung Also= in jeder der Unit-Dateien, auf die agiert wird, enthalten sind. Dieser Befehl ladt implizit die Systemverwalterkonfiguration nach Abschluss der Aktion neu. Beachten Sie, dass dieser Befehl die ausgeschalteten Units nicht implizit stoppt. Falls dies gewunscht ist, kombinieren Sie diesen Befehl entweder mit dem Schalter --now oder rufen Sie den Befehl stop mit geeigneten Argumenten spater auf. Dieser Befehl wird Informationen uber die ausgefuhrten Dateisystemaktionen (Entfernung der Symlinks) ausgeben. Durch Ubergabe von --quiet kann diese Ausgabe unterdruckt werden. Falls eine Unit deaktiviert wird, aber ihre auslosenden Units immer noch aktiv sind, wird eine Warnung angezeigt, die die Namen der auslosenden Units enthalt. Diese Warnung kann mit --no-warn unterdruckt werden. Wird dieser Befehl zusammen mit --user verwandt, konnten die Units, auf denen agiert wird, in einem globalen Bereich dennoch aktiviert und daher automatisch gestartet werden, selbst wenn sie im Benutzerbereich automatisch deaktiviert wurden. In diesem Fall wird eine Warnung dazu ausgegeben, die mittels --no-warn unterdruckt werden kann. Dieser Befehl berucksichtigt --system, --user, --runtime, --global und --no-warn auf eine ahnliche Art wie enable. Hinzugefugt in Version 238. reenable UNIT Gibt eine oder mehrere Units erneut frei, wie dies auf der Befehlszeile angegeben ist. Dies ist eine Kombination von disable und enable und ist nutzlich, um die Symlinks, mit der eine Unit-Datei freigegeben wird, auf die in seinem Abschnitt >>[Install]<< konfigurierten Vorgaben zuruckzusetzen. Dieser Befehl erwartet nur einen Unit-Namen und akzeptiert keine Pfade zu Unit-Dateien. Hinzugefugt in Version 238. preset UNIT Setzt den Status Freigegeben/Ausgeschaltet einer oder mehrerer Unit-Dateien, wie auf der Befehlszeile angegeben, auf die in den Voreinstellungsrichtliniendateien konfigurierten Standardwerte zuruck. Dies hat den gleichen Effekt wie disable oder enable, abhangig davon, wie die Unit in den Voreinstellungsdateien aufgefuhrt ist. Verwenden Sie --preset-mode=, um zu steuern, ob Units freigegeben und ausgeschaltet oder nur freigegeben oder nur ausgeschaltet sein sollen. Falls die Unit keine Installationsinformationen ubertragt, wird sie durch diesen Befehl ohne Ruckmeldung ignoriert. UNIT muss ein echter Unit-Name sein, jeder Aliasname wird ohne Ruckmeldung ignoriert. Weitere Informationen uber das Format der Voreinstellungsrichtlinien finden Sie unter systemd.preset(5). Hinzugefugt in Version 238. preset-all Setzt alle installierten Unit-Dateien auf die in der Voreinstellungsrichtliniendatei konfigurierten Vorgaben zuruck (siehe oben). Verwenden Sie --preset-mode=, um zu steuern, ob Units freigegeben und ausgeschaltet oder nur freigegeben oder nur ausgeschaltet sein sollen. Hinzugefugt in Version 215. is-enabled UNIT Pruft, ob eine der angegebenen Unit-Dateien eingeschaltet ist (wie mit enable). Liefert einen Exit-Code 0 zuruck, falls mindestens eine freigegeben ist, andernfalls eine von Null verschiedene Zahl. Gibt den derzeitigen Freigabestatus (siehe Tabelle) aus. Um diese Ausgabe zu unterdrucken, verwenden Sie --quiet. Um Installationsziele anzuzeigen, verwenden Sie --full. Tabelle 1. Ausgabe von is-enabled +------------------+---------------------------+-----------+ |Name | Beschreibung | Exit-Code | +------------------+---------------------------+-----------+ |"enabled" | Uber .wants/, .requires/ | 0 | | | oder Alias=-Symlinks | | | | freigegeben (dauerhaft in | | | | /etc/systemd/system/ oder | | | | fluchtig in | | | | /run/systemd/system/). | | +------------------+ | | |"enabled-runtime" | | | +------------------+---------------------------+-----------+ |"linked" | Uber einen oder mehrere | > 0 | | | Symlinks auf die | | | | Unit-Datei verfugbar | | | | gemacht (dauerhaft in | | | | /etc/systemd/system/ oder | | | | fluchtig in | | | | /run/systemd/system/), | | | | obwohl die Unit-Datei | | | | selbst ausserhalb des | | | | Unit-Dateisuchpfades | | | | liegen kann. | | +------------------+ | | |"linked-runtime" | | | +------------------+---------------------------+-----------+ |"alias" | Der Name ist ein Alias | 0 | | | (Symlink auf eine andere | | | | Unit-Datei). | | +------------------+---------------------------+-----------+ |"masked" | Komplett ausgeschaltet, | > 0 | | | so dass jede Startaktion | | | | darauf fehlschlagt | | | | (dauerhaft in | | | | /etc/systemd/system/ oder | | | | fluchtig in | | | | /run/systemd/systemd/). | | +------------------+ | | |"masked-runtime" | | | +------------------+---------------------------+-----------+ |"static" | Die Unit-Datei ist nicht | 0 | | | freigegeben und hat keine | | | | Vorkehrungen fur die | | | | Freigabe in dem | | | | Unit-Dateiabschnitt | | | | >>[Install]<<. | | +------------------+---------------------------+-----------+ |"indirect" | Die Unit-Datei selbst ist | 0 | | | nicht freigegeben, hat | | | | aber etwas in der | | | | Einstellung Also= im | | | | Abschnitt >>[Install]<< | | | | der Unit-Datei, wo andere | | | | Unit-Dateien aufgefuhrt | | | | sind, die freigegeben | | | | werden konnen, oder sie | | | | hat einen Alias unter | | | | einem anderen Namen durch | | | | einen Symlink, der nicht | | | | auch in Also= angegeben | | | | ist. Fur | | | | Vorlagen-Unit-Dateien ist | | | | eine Instanz, die sich | | | | von der in | | | | DefaultInstance= | | | | angegebenen | | | | unterscheidet, | | | | freigegeben. | | +------------------+---------------------------+-----------+ |"disabled" | Die Unit-Datei ist nicht | > 0 | | | freigegeben, enthalt aber | | | | einen Abschnitt | | | | >>[Install]<< mit | | | | Installationsanweisungen. | | +------------------+---------------------------+-----------+ |"generated" | Die Unit wurde dynamisch | 0 | | | mit einem | | | | Generatorwerkzeug | | | | erstellt. Siehe | | | | systemd.generator(7). | | | | Erstellte Unit-Dateien | | | | konnen nicht freigegeben | | | | werden, sie werden | | | | implizit durch ihren | | | | Generator freigegeben. | | +------------------+---------------------------+-----------+ |"transient" | Die Unit-Datei wurde | 0 | | | dynamisch mit der | | | | Laufzeit-API erstellt. | | | | Fluchtige Units konnen | | | | nicht freigegeben werden. | | +------------------+---------------------------+-----------+ |"bad" | Die Unit-Datei ist | > 0 | | | ungultig oder ein anderer | | | | Fehler ist aufgetreten. | | | | Beachten Sie, dass | | | | is-enabled diesen Zustand | | | | nicht tatsachlich | | | | zuruckliefern wird, | | | | sondern stattdessen eine | | | | Fehlermeldung ausgeben | | | | wird. Die durch | | | | list-unit-files | | | | dargestellte | | | | Unit-Datei-Auflistung | | | | konnte sie allerdings | | | | enthalten. | | +------------------+---------------------------+-----------+ |"not-found" | Die Unit-Datei existiert | 4 | | | nicht. | | +------------------+---------------------------+-----------+ Hinzugefugt in Version 238. mask UNIT Blendet eine oder mehrere Units, wie auf der Befehlszeile angegeben, aus. Dies wird die Unit-Dateien nach /dev/null linken, wodurch sie nicht gestartet werden konnen. Dies ist eine starkere Version von disable, da sie alle Arten von Aktivierung der Unit verbietet, einschliesslich der Freigabe und manueller Aktivierung. Verwenden Sie diese Option mit Vorsicht. Die Option --runtime wird berucksichtigt, um nur bis zum nachsten Systemneustart auszublenden. Die Option --now kann verwandt werden, um sicherzustellen, dass die Units auch gestoppt werden. Dieser Befehl erwartet nur gultige Unit-Namen, er akzeptiert keine Unit-Dateipfade. Beachten Sie, dass dies einen Symlink unter dem Namen der Unit in /etc/systemd/system/ (falls --runtime nicht angegeben ist) oder /run/systemd/system/ (falls --runtime angegeben ist) erstellt. Falls eine passende Unit-Datei unter diesen Verzeichnissen bereits existiert, wird diese Aktion daher fehlschlagen. Das bedeutet, dass diese Aktion primar zum Maskieren von Units nutzlich ist, die vom Lieferanten ausgeliefert werden (da diese in /usr/lib/systemd/system/ und nicht in den vorher erwahnten Verzeichnissen ausgeliefert werden), funktioniert aber typischerweise nicht fur lokal erstellte Units (da diese typischerweise in den zwei vorher erwahnten Verzeichnissen abgelegt werden). Ahnliche Beschrankungen gelten fur den Modus --user. In diesem Fall befinden sich die Verzeichnisse allerdings unterhalb des Home-Verzeichnis des Benutzers. Falls eine Unit maskiert wird, aber ihre auslosenden Units noch aktiv sind, wird eine Warnung angezeigt, die die Namen der auslosenden Units enthalt. Diese Warnung kann mit --no-warn unterdruckt werden. Hinzugefugt in Version 238. unmask UNIT Blendet eine oder mehrere Unit-Dateien, wie auf der Befehlszeile angegeben, ein. Dies macht die Wirkung von mask ruckgangig. Dieser Befehl erwartet nur gultige Unit-Namen, er akzeptiert keine Unit-Dateipfade. Hinzugefugt in Version 238. link PFAD Linkt eine Unit-Datei, die nicht im Unit-Dateisuchpfad ist, in den Dateisuchpfad. Dieser Befehl erwartet einen absoluten Pfad zu einer Unit-Datei. Die Wirkung kann mit disable zuruckgenommen werden. Die Wirkung des Befehls besteht darin, dass die Unit-Datei fur Befehle wie start verfugbar gemacht wird, obwohl sie nicht direkt im Unit-Dateisuchpfad installiert ist. Das Dateisystem, in dem sich die verlinkte Unit-Datei befindet, muss beim Start von Systemd zugreifbar sein (d.h. alles unterhalb von /home/ oder /var/ ist nicht erlaubt, ausser diese Verzeichnisse befinden sich im Wurzeldateisystem). Hinzugefugt in Version 233. revert UNIT Bringt eine oder mehrere Unit-Dateien auf die Version des Lieferanten zuruck. Dieser Befehl entfernt Erganzungskonfigurationsdateien, die die angegebene Unit verandern, sowie alle benutzerkonfigurierten Unit-Dateien, die eine passende, vom Lieferanten bereitgestellte Unit-Datei ausser Kraft setzen. Konkret wird fur eine Unit >>foo.service<< das passende Verzeichnis >>foo.service.d/<< mit allen darin enthaltenen Dateien entfernt, sowohl unterhalb der dauerhaften als auch der Laufzeitkonfigurationsverzeichnisse (d.h. unterhalb von /etc/systemd/system und /run/systemd/system). Falls es von der Unit-Datei eine durch den Lieferanten bereitgestellte Version gibt (d.h. eine Unit-Datei unterhalb von /usr/), werden alle passenden dauerhaften und Laufzeit-Unit-Dateien, die diese ausser Kraft setzen, auch entfernt. Beachten Sie, dass eine Unit-Datei, fur die es keine vom Lieferanten bereitgestellte Version gibt (d.h. sie wurde nur unterhalb von /etc/systemd/system oder /run/systemd/system definiert, aber nicht in einer Unit-Datei unterhalb von /usr/), nicht entfernt wird. Falls eine Unit ausgeblendet ist, wird sie eingeblendet. Dieser Befehl kann effektiv dazu verwandt werden, alle mit systemctl edit, systemctl set-property und systemctl mask vorgenommenen Anderungen zuruckzusetzen und alle ursprunglichen Unit-Dateien mit ihren Einstellungen wieder zur Wirkung zu bringen. Hinzugefugt in Version 230. add-wants ZIEL UNIT, add-requires ZIELUNIT Fugt zu dem ZIEL fur eine oder mehrere Units Abhangigkeiten >>Wants=<< bzw. >>Requires=<< hinzu. Dieser Befehl berucksichtigt --system, --user, --runtime und --global auf eine ahnliche Art wie enable. Hinzugefugt in Version 217. edit UNIT Bearbeitet ein Erganzungsschnippsel oder eine gesamte Ersetzungsdatei, falls --full angegeben ist, oder erweitert die angegebene Unit oder setzt sie ausser Kraft. Abhangig davon, ob --system (die Vorgabe), --user, oder --global angegeben ist, erstellt dieser Befehl fur jede Unit eine Erganzungsdatei, entweder fur das System, fur den aufrufenden Benutzer oder fur alle zukunftigen Anmeldungen aller Benutzer. Dann wird der Editor (siehe den Abschnitt >>Umgebung<< unten) mit temporaren Dateien aufgerufen, die an den wirklichen Ort geschrieben werden, falls der Editor erfolgreich beendet wird. Falls --drop-in= angegeben ist, wird der ubergebene Erganzungsdateiname statt des standardmassigen override.conf verwandt. Falls --full angegeben ist, wird diese die ursprungliche Unit kopieren, statt Erganzungsdateien zu erstellen. Falls --force angegeben ist und eine der Units nicht existiert, werden neue Unit-Dateien fur die Bearbeitung geoffnet. Falls --runtime angegeben ist, wird die Anderung temporar in /run/ vorgenommen und geht beim nachsten Neustart verloren. Falls die temporare Datei beim Beenden leer ist, wird die Anderung der zugehorigen Unit abgebrochen. Nachdem die Units bearbeitet wurden, wird die Systemd-Konfiguration neu geladen (auf eine Art, die aquivalent zu daemon-reload ist). Beachten Sie, dass dieser Befehl nicht zur Bearbeitung ferner Units verwandt werden kann und dass Sie keine Units, die in /etc/ liegen, temporar bearbeiten konnen, da diese vor /run/ Vorrang haben. Hinzugefugt in Version 218. get-default Liefert das Standardziel, in welches der Systemstart erfolgt, zuruck. Dies liefert den Ziel-Unit-Namen, auf das der Alias (Symlink) von default.target zeigt. Hinzugefugt in Version 205. set-default ZIEL Setzt das Vorgabeziel, in das der Systemstart erfolgen soll. Dies setzt (als Symlink) den default.target-Alias auf die angegebene Ziel-Unit. Hinzugefugt in Version 205. Maschinenbefehle list-machines [MUSTER] Listet den Rechner und alle laufenden Container mit ihren Zustanden auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur auf die Muster passende Container angezeigt. Hinzugefugt in Version 212. Auftragsbefehle list-jobs [MUSTER] Listet laufende Auftrage auf. Falls eines oder mehrere MUSTER angegeben sind, werden nur Auftrage von Units, die auf die Muster passen, angezeigt. Wird dies mit --after oder --before kombiniert, wird die Liste mit Informationen daruber angereichert, auf welchen anderen Auftrag jeder Auftrag wartet und welche anderen Auftrage auf ihn warten, siehe oben. Hinzugefugt in Version 233. cancel [AUFTRAG] Bricht einen oder mehrere auf der Befehlszeile durch ihre numerische Auftragskennung angegebene Auftrage ab. Falls keine Auftragskennung angegeben ist, werden alle wartenden Auftrage abgebrochen. Hinzugefugt in Version 233. Umgebungsbefehle systemd unterstutzt einen Umgebungsblock, der an vom Systemverwalter erzeugte Prozesse ubergeben wird. Die Namen der Variablen konnen ASCII-Buchstaben, Ziffern und das Unterstrichzeichen enthalten. Variablennamen durfen nicht leer sein oder mit einer Ziffer starten. In den Variablenwerten sind die meisten Zeichen erlaubt, aber die gesamte Sequenz muss gultiges UTF-8 sein. (Beachten Sie, dass Steuerzeichen wie der Zeilenumbruch (NL), der Tabulator (TAB) oder das Maskierzeichen (ESC) gultiges ASCII und damit gultiges UTF-8 sind). Die Gesamtlange des Umgebungsblocks ist auf den Wert _SC_ARG_MAX, der in sysconf(3) definiert ist, begrenzt. show-environment Zeigt den Umgebungsblock des Systemd-Verwalters an. Dies ist der Umgebungsblock, der an alle vom Verwalter erzeugten Prozesse ubergeben wird. Der Umgebungsblock wird in einer direkten Form, geeignet fur die Einbindung in die meisten Shells, ausgegeben. Falls in den Variablenwerten keine besonderen Zeichen oder Leerraumzeichen enthalten sind, erfolgt keine Maskierung und die Zuweisungen haben die Form >>VARIABLE=Wert<<. Falls Leerraumzeichen oder Zeichen, die fur die Shell eine besondere Bedeutung haben, vorhanden sind, wird Dollar-Einzelanfuhrungszeichen-Maskierung verwandt und die Zuweisungen haben die Form >>VARIABLE=$'Wert'<<. Diese Syntax wird bekanntermassen von bash(1), zsh(1), ksh(1) und der busybox(1)-ash(1), aber nicht von dash(1) und fish(1) unterstutzt. set-environment VARIABLE=WERT Setzt eine oder mehrere Systemd-Verwalter-Umgebungsvariablen, wie auf der Befehlszeile angegeben. Dieser Befehl wird fehlschlagen, falls die Variablennamen und -werte nicht den vorher beschriebenen Regeln folgen. Hinzugefugt in Version 233. unset-environment VARIABLE Setzt eine oder mehrere Umgebungsvariablen des Systemd-Verwalters zuruck. Falls nur ein Variablenname angegeben ist, wird er unabhangig von seinem Wert entfernt. Falls eine Variable und ein Wert angegeben werden, wird die Variable nur entfernt, falls sie den angegebenen Wert hat. Hinzugefugt in Version 233. import-environment VARIABLE Importiert alle, eine oder mehrere Umgebungsvariablen, die auf dem Client gesetzt sind, in den Umgebungsblock des Systemd-Verwalters. Falls eine Liste mit einer oder mehrerer Umgebungsvariablennamen ubergeben wird, werden deren Wert auf der Client-Seite dann in den Umgebungsblock des Verwalters importiert. Falls Namen davon keine gultigen Umgebungsvariablen sind oder gemass der oben beschriebenen Regeln ungultige Werte haben, wird ein Fehler ausgelost. Falls keine Argumente ubergeben werden, wird der gesamte, vom Prozess systemctl geerbte Umgebungsblock importiert. In diesem Modus werden alle geerbten und ungultigen Variablen stillschweigend ignoriert. Der Import des vollstandigen ererbten Umgebungsblocks (der Aufruf dieses Befehls ohne Argumente) ist als veraltet markiert. Eine Shell setzt Dutzende von Variablen, die nur lokal Sinn ergeben und nur fur Prozesse gedacht sind, die Abkommlinge der Shell sind. Solche Variablen sind im globalen Umgebungsblock fur andere Prozesse verwirrend. Hinzugefugt in Version 209. Zustandsbefehle fur den Verwalter daemon-reload Ladt die Systemverwalterkonfiguration neu. Dies wird alle Generatoren neu ausfuhren (siehe systemd.generator(7)), alle Unit-Dateien neu laden und den gesamten Abhangigkeitsbaum neu erstellen. Wahrend der Daemon neu geladen wird, bleiben samtliche Sockets, an denen Systemd aufgrund von Benutzerkonfiguration auf Anfragen wartet, erreichbar. Dieser Befehl sollte nicht mit dem Befehl reload durcheinandergebracht werden. daemon-reexec Fuhrt den Systemd-Verwalter neu aus. Dies wird den Verwalterzustand serialisieren, die Prozesse neu ausfuhren und den Zustand wieder deserialisieren. Dieser Befehl ist eigentlich nur fur die Fehlersuche und Paket-Upgrades geeignet. Manchmal mag er fur schwergewichtige daemon-reload hilfreich sein. Wahrend der Daemon neu ausgefuhrt wird, bleiben samtliche Sockets, an denen Systemd aufgrund von Benutzerkonfiguration auf Anfragen wartet, erreichbar. log-level [STUFE] Zeigt die aktuelle Protokollierstufe des Verwalters an, falls kein Argument angegeben ist. Falls das optionale Argument STUFE bereitgestellt wird, dann andert der Befehl die aktuelle Protokollierstufe des Verwalters auf STUFE (akzeptiert die gleichen Werte wie fur das in systemd(1) beschriebene --log-level=). Hinzugefugt in Version 244. log-target [ZIEL] Zeigt das aktuelle Protokollierziel des Verwalters an, falls kein Argument angegeben ist. Falls das optionale Argument ZIEL bereitgestellt wird, dann andert der Befehl das aktuelle Protokollierziel des Verwalters auf ZIEL (akzeptiert die gleichen Werte wie fur das in systemd(1) beschriebene --log-target=). Hinzugefugt in Version 244. service-watchdogs [yes|no] Zeigt den aktuellen Zustand des Laufzeitdienste-Watchdogs an, falls kein Argument angegeben ist. Falls ein optionales logisches Argument bereitgestellt wird, werden die globalen Laufzeitdienste-Watchdogs (WatchdogSec=) und Notfallaktionen (z.B. OnFailure= oder StartLimitAction=) aktiviert oder deaktiviert; siehe systemd.service(5). Der Hardware-Watchdog ist von dieser Einstellung nicht betroffen. Hinzugefugt in Version 244. Systembefehle is-system-running Pruft, ob das System einsatzfahig ist. Dies liefert Erfolg (Exit-Code 0) zuruck, wenn das System komplett hochgefahren und im Betrieb und insbesondere nicht beim Hochfahren, beim Herunterfahren oder im Wartungsmodus ist und wenn keine Dienste fehlgeschlagen sind. Ansonsten wird ein Fehlschlag zuruckgeliefert (Exit-Code ist nicht null). Zusatzlich wird der aktuelle Zustand in einer kurzen Zeichenkette auf der Standardausgabe ausgegeben, siehe nachfolgende Tabelle. Verwenden Sie --quiet zum Unterdrucken dieser Ausgabe. Verwenden Sie --wait, um darauf zu warten, dass der Systemstartprozess abgeschlossen ist, bevor der aktuelle Zustand angezeigt und der angemessene Fehlerstatus zuruckgeliefert wird. Falls --wait in Verwendung ist, werden die Zustande initializing oder starting nicht gemeldet, stattdessen wird der Befehl blockieren, bis ein spaterer Zustand (wie running oder degraded) erreicht ist. Tabelle 2. Ausgabe von is-system-running +-------------+-----------------------+-----------+ |Name | Beschreibung | Exit-Code | +-------------+-----------------------+-----------+ |initializing | Fruher Systemstart, | > 0 | | | vor basic.target | | | | erreicht oder der | | | | Wartungs- Zustand | | | | betreten wurde. | | +-------------+-----------------------+-----------+ |starting | Spate Startphase, | > 0 | | | bevor die | | | | Auftragswarteschlange | | | | erstmalig in den | | | | Leerlauf geht oder | | | | eines der | | | | Rettungsziele | | | | erreicht wird. | | +-------------+-----------------------+-----------+ |running | Das System ist | 0 | | | komplett | | | | betriebsbereit. | | +-------------+-----------------------+-----------+ |degraded | Das System ist | > 0 | | | betriebsbereit, aber | | | | eine oder mehrere | | | | Units sind | | | | fehlgeschlagen. | | +-------------+-----------------------+-----------+ |maintenance | Das Rettungs- oder | > 0 | | | Notfallziel ist | | | | aktiv. | | +-------------+-----------------------+-----------+ |stopping | Der Verwalter fahrt | > 0 | | | sich herunter. | | +-------------+-----------------------+-----------+ |offline | Der Verwalter lauft | > 0 | | | nicht. Insbesondere | | | | ist dies der | | | | Betriebszustand, | | | | falls ein | | | | inkompatibles | | | | Programm als | | | | Systemverwalter (PID | | | | 1) lauft. | | +-------------+-----------------------+-----------+ |unknown | Der Betriebszustand | > 0 | | | konnte aufgrund von | | | | fehlenden Ressourcen | | | | oder einer anderen | | | | Fehlerursache nicht | | | | bestimmt werden. | | +-------------+-----------------------+-----------+ Hinzugefugt in Version 215. default Betritt den Standardmodus. Dies ist zu systemctl isolate default.target aquivalent. Diese Aktion blockiert standardmassig, verwenden Sie --no-block fur asynchrones Verhalten. rescue Betritt den Rettungsmodus. Dies ist zu systemctl isolate rescue.target aquivalent. Diese Aktion blockiert standardmassig, verwenden Sie --no-block fur asynchrones Verhalten. emergency Betritt den Notfallmodus. Dies ist zu systemctl isolate emergency.target aquivalent. Diese Aktion blockiert standardmassig, verwenden Sie --no-block fur asynchrones Verhalten. halt Fahrt das System herunter und halt es an. Dies ist grosstenteils aquivalent zu systemctl start halt.target --job-mode=replace-irreversibly --no-block, gibt aber auch eine Wall-Nachricht an alle Benutzer aus. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Halt-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Beachten Sie, dass diese Aktion einfach den Betriebssystemkernel nach dem Herunterfahren anhalten wird, die Hardware verbleibt eingeschaltet. Verwenden Sie systemctl poweroff, um das System auszuschalten (siehe unten). Falls mit --force kombiniert, wird das Herunterfahren aller laufenden Dienste ubersprungen, alle Prozesse werden aber getotet und alle Dateisysteme ausgehangt oder nur lesbar eingehangt, sofort danach erfolgt das Anhalten des Systems. Falls --force zweimal angegeben ist, wird die Aktion sofort ausgefuhrt, ohne irgendeinen Prozess zu beenden oder ein Dateisystem auszuhangen. Dies kann zu Datenverlust fuhren. Beachten Sie, dass die Halt-Aktion von systemctl selbst ausgefuhrt wird, wenn --force zweimal angegeben wird und der Systemverwalter dann nicht kontaktiert wird. Dies bedeutet, dass der Befehl selbst dann erfolgreich sein sollte, wenn der Systemverwalter abgesturzt ist. Falls mit --when= kombiniert, wird das Herunterfahren nach dem angegebenen Zeitstempel eingeplant. Und --when=cancel wird das Herunterfahren abbrechen. poweroff Fahrt das System herunter und schaltet es aus. Dies ist grosstenteils zu systemctl start poweroff.target --job-mode=replace-irreversibly --no-block aquivalent, gibt aber auch eine Wall-Nachricht an alle Benutzer aus. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Ausschalt-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Dieser Befehl berucksichtigt --force und --when= auf eine ahnliche Art wie halt. reboot Fahrt das System herunter und startet es neu. Dieser Befehl ist grosstenteils zu systemctl start reboot.target --job-mode=replace-irreversibly --no-block aquivalent, gibt aber auch eine Wall-Nachricht an alle Benutzer aus. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Neustart-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Falls der Schalter --reboot-argument= angegeben ist, wird er als optionales Argument an den Systemaufruf reboot(2) ubergeben. Die Optionen --boot-loader-entry=, --boot-loader-menu= und --firmware-setup konnen zur Auswahl, was nach einem Neustart erfolgen soll, verwandt werden. Fur Details siehe die Beschreibung dieser Optionen. Dieser Befehl berucksichtigt --force und --when= auf eine ahnliche Art wie halt. Falls mittels kexec --load ein neuer Kernel geladen wurde, wird statt eines Neustarts ein kexec durchgefuhrt, ausser >>SYSTEMCTL_SKIP_AUTO_KEXEC=1<< wurde gesetzt. Falls unter >>/run/nextroot/<< ein neues Wurzeldateisystem eingerichtet wurde, wird ein soft-reboot statt eines Neustarts durchgefuhrt, ausser >>SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1<< wurde gesetzt. Hinzugefugt in Version 246. kexec Fahrt das System mittels kexec herunter und startet es neu. Dieser Befehl ladt einen Kexec-Kernel, falls noch keiner geladen wurde, oder schlagt fehl. Ein Kernel kann fruher in einem separaten Schritt geladen werden. Dies ist insbesondere nutzlich, falls eine angepasste Initrd oder zusatzliche Kernelbefehlszeilenoptionen gewunscht sind. --force kann zum Fortfahren ohne einen Kexec-Kernel verwandt werden, d.h. um einen normalen Neustart durchzufuhren. Der abschliessende Neustartschritt ist zu systemctl start kexec.target --job-mode=replace-irreversibly --no-block aquivalent. Um einen Kernel zu laden, erfolgt eine Aufzahlung gemass der Systemlader-Spezifikation[1] und der Standard-Systemstarteintrag wird geladen. Damit dieser Schritt erfolgreich ist, muss das System UEFI verwenden und die Systemladereintrage geeignet konfiguriert sein. Zum Auflisten der Systemstarteintrage kann bootctl list verwandt werden, siehe bootctl(1). Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Neustart-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Dieser Befehl berucksichtigt --force und --when= auf eine ahnliche Art wie halt. Falls mittels kexec --load ein neuer Kernel geladen wurde, wird beim Aufruf eines reboot ein kexec durchgefuhrt, ausser >>SYSTEMCTL_SKIP_AUTO_KEXEC=1<< wurde gesetzt. soft-reboot Fahrt das System herunter und startet den Anwendungsraum neu. Dies ist zu systemctl start soft-reboot.target --job-mode=replace-irreversibly --no-block aquivalent. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Neustart-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Dieser Befehl berucksichtigt --force und --when= auf eine ahnliche Art wie halt. Diese Aktion startet nur den Anwendungsraum neu, der Kernel verbleibt laufend. Siehe systemd-soft-reboot.service(8) zu Details. Falls unter >>/run/nextroot/<< ein neues Wurzeldateisystem eingerichtet wurde, wird ein soft-reboot durchgefuhrt, wenn reboot aufgerufen wurde, ausser >>SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1<< wurde gesetzt. Hinzugefugt in Version 254. exit [EXIT-CODE] Bittet den Diensteverwalter, sich zu beenden. Dies wird nur fur Benutzerdiensteverwalter (d.h. im Zusammenspiel mit der Option --user) oder in Containern unterstutzt und ist andernfalls zu poweroff aquivalent. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Beende-Aktion in die Warteschlange eingereiht ist, ohne darauf zu warten, dass er abgeschlossen ist. Falls EXIT_CODE ubergeben wurde, wird sich der Diensteverwalter mit dem angegebenen Exit-Code beenden. Hinzugefugt in Version 227. switch-root [WURZEL [INIT]] Schaltet auf ein anderes Wurzelverzeichnis und fuhrt darunter einen neuen Systemverwalter aus. Dies ist fur den Einsatz in der Initrd gedacht und wird vom Systemverwalter der Initrd (d.h. dem >>Init<<-Prozess, PID 1) auf dem Hauptsystemverwalterprozess wechseln, der vom tatsachlichen Wurzeldateisystem des Rechners geladen wird. Dieser Aufruf akzeptiert zwei Argumente: das Verzeichnis, das das neue Wurzelverzeichnis werden soll und der Pfad des neuen Systemverwalterprogramms darunter, das als PID 1 ausgefuhrt werden soll. Falls beide nicht angegeben sind oder erstere eine leere Zeichenkette ist, ist die Vorgabe /sysroot/. Falls letzterer nicht angegeben wird oder eine leere Zeichenkette ist, wird automatisch nach einem Systemd-Programm gesucht und dieses als Diensteverwalter verwandt/. Falls der Systemverwalterpfad nicht angegeben wird, der leeren Zeichenkette gleicht oder identisch zu dem Pfad zu dem Systemdprogramm ist, wird der Zustand des Systemverwalterprozesses der Initrd an den Hauptsystemverwalter ubergeben, womit Letzterem eine Selbstuberprufung des Zustands der in der Initird-Systemstartphase beteiligten Dienste ermoglicht wird. Hinzugefugt in Version 209. suspend Suspendiert das System. Dies wird die Aktivierung der besonderen Ziel-Unit suspend.target auslosen. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Suspendier-Aktion erfolgreich in die Warteschlange eingereiht ist. Er wird nicht darauf warten, dass der Suspendier-/Wiederaufnahmezyklus abgeschlossen ist. hibernate Bringt das System in den Ruhezustand. Dies wird die Aktivierung der besonderen Ziel-Unit hibernate.target auslosen. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die Ruhezustandsaktion erfolgreich in die Warteschlange eingereiht ist. Er wird nicht darauf warten, dass der Ruhezustand-/Wiederaufwachzyklus abgeschlossen ist. hybrid-sleep Bringt das System in den Ruhezustand und suspendiert es. Dies wird die Aktivierung der besonderen Ziel-Unit hybrid-sleep.target auslosen. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die hybride Schlafaktion erfolgreich in die Warteschlange eingereiht ist. Er wird nicht darauf warten, dass der Schlaf-/Wiederaufwachzyklus abgeschlossen ist. Hinzugefugt in Version 196. suspend-then-hibernate Suspendiert das System nach einer in systemd-sleep.conf angegebenen Verzogerung und bringt es in den Ruhezustand. Dies wird die Aktivierung der besonderen Ziel-Unit suspend-then-hibernate.target auslosen. Dieser Befehl ist asynchron; er wird zuruckkehren, nachdem die hybride Schlafaktion erfolgreich in die Warteschlange eingereiht ist. Er wird nicht darauf warten, dass der Schlaf-/Wiederaufwachzyklus oder Ruhezustand-/Wiederaufwachzyklus abgeschlossen ist. Hinzugefugt in Version 240. Parametersyntax Die oben aufgefuhrten Unit-Befehle akzeptieren entweder einen einzelnen Unit-Namen (als UNIT bezeichnet) oder mehrere Unit-Angaben (als MUSTER bezeichnet). Im ersten Fall muss der Unit-Name mit oder ohne Endung angegeben werden. Falls die Endung nicht angegeben ist (der Unit-Name >>abgekurzt<< wurde), wird Systemctl eine geeignete Endung anhangen, standardmassig >>.service<<, und typabhangige Endungen im Falle von Befehlen, die nur auf bestimmte Unit-Typen agieren. Beispielsweise sind # systemctl start sshd und # systemctl start sshd.service aquivalent, wie auch # systemctl isolate default und # systemctl isolate default.target Beachten Sie, dass der (absolute) Pfad zu den Gerateknoten automatisch in einen Gerate-Unit-Namen und andere (absolute) Pfade zu Einhange-Unit-Namen umgewandelt werden. # systemctl status /dev/sda # systemctl status /home ist aquivalent zu: # systemctl status dev-sda.device # systemctl status home.mount Im zweiten Fall werden Shell-artige Globs mit den primaren Namen aller derzeit im Speicher befindlichen Units abgeglichen; wortliche Unit-Namen, mit oder ohne eine Endung, werden wie im ersten Fall behandelt. Das bedeutet, dass sich wortliche Unit-Namen immer auf genau eine Unit beziehen, aber Globs auf null Units passen konnen, was nicht als Fehler betrachtet wird. Glob-Muster verwenden fnmatch(3), daher werden normale Shell-artige Glob-Regeln verwandt und >>*<<, >>?<< und >>[]<< durfen verwendet werden. Siehe glob(7) fur weitere Details. Die Muster werden mit den primaren Namen der derzeit im Speicher befindlichen Units verglichen und Muster, die auf nichts passen, werden ohne Ruckmeldung ubersprungen. Beispielsweise wird # systemctl stop sshd@*.service alle sshd@.service-Instanzen stoppen. Beachten Sie, dass Aliasnamen von Units und Units, die sich nicht im Speicher befinden, fur die Glob-Erweiterung nicht berucksichtigt werden. Fur Unit-Dateibefehle sollte die angegebene UNIT der Name der Unit-Datei (moglicherweise abgekurzt, siehe oben) oder der absolute Pfad zu der Unit-Datei sein: # systemctl enable foo.service oder # systemctl link /path/to/foo.service OPTIONEN Die folgenden Optionen werden verstanden: -t, --type= Das Argument ist eine Kommata-getrennte Liste der Unit-Typen wie service und socket. Wenn Units mit list-units, list-dependencies, show oder status aufgelistet werden, werden nur die angegebenen Typen gezeigt. Standardmassig werden Units aller Typen angezeigt. Als Spezialfall wird eine Liste der erlaubten Werte angezeigt und das Programm beendet sich, falls eines der Argumente help ist. --state= Das Argument ist eine Kommata-getrennte Liste von Zustanden LOAD, SUB oder ACTIVE sein. Zeigt nur die Units in den angegebenen Zustanden an, wenn diese mit list-units, list-dependencies, show oder status aufgelistet werden. Verwenden Sie --state=failed oder --failed, um nur fehlgeschlagene Units anzuzeigen. Als Spezialfall wird eine Liste der erlaubten Werte angezeigt und das Programm beendet sich, falls eines der Argumente help ist. Hinzugefugt in Version 206. -p, --property= Begrenzt die Anzeige auf die angegebenen Eigenschaften bei der Anzeige der Eigenschaften von Units/Auftragen/Verwalter mit dem Befehl show. Das Argument sollte eine Kommata-getrennte Liste von Eigenschaftsnamen wie >>MainPID<< sein. Falls nicht angegeben, werden alle bekannten Eigenschaften angezeigt. Falls mehr als einmal angegeben, werden alle Eigenschaften mit den angegebenen Namen angezeigt. Fur Eigenschaftsnamen ist die Shell-Vervollstandigung implementiert. Fur den Verwalter selbst wird systemctl show alle verfugbaren Eigenschaften anzeigen. Die meisten davon sind von den in systemd-system.conf(5) beschriebenen Optionen abgeleitet oder stimmen eng mit ihnen uberein. Eigenschaften fur Units unterscheiden sich zwischen Unit-Typen, daher ist die Anzeige einer Unit (selbst einer nicht vorhandenen) ein Weg, um die Eigenschaften, die diese Unit betreffen, aufzulisten. Ahnlich wird die Anzeige eines Auftrags die allen Auftragen zugehorigen Eigenschaften auflisten. Eigenschaften fur Units sind in systemd.unit(5) und den Seiten fur die individuellen Unit-Typen systemd.service(5), systemd.socket(5) usw. dokumentiert. -P Aquivalent zu --value --property=, d.h. zeigt den Wert der Eigenschaft ohne den Eigenschaftsnamen und >>=<<. Beachten Sie, dass die einmalige Verwendung von -P auch die mit -p/--property= aufgefuhrten Eigenschaften betrifft. Hinzugefugt in Version 246. -a, --all Zeigt beim Auflisten von Units mit list-units auch inaktive Units und Units, die anderen Units folgen, an. Bei der Anzeige der Eigenschaften von Units/Auftragen/Verwaltern werden alle Eigenschaften angezeigt, unabhangig davon, ob sie gesetzt sind oder nicht. Um alle im Dateisystem installierten Units aufzulisten, verwenden Sie stattdessen den Befehl list-unit-files. Zeigt beim Auflisten von Units mit list-dependencies alle abhangigen Units rekursiv an (standardmassig werden nur Abhangigkeiten von Ziel-Units angezeigt). Zeigt bei der Verwendung mit status Journal-Nachrichten vollstandig an, selbst falls sie nicht darstellbaren Zeichen enthalten oder sehr lang sind. Standardmassig werden Felder mit nicht darstellbaren Zeichen als >>blob data<< abgekurzt<<. (Beachten Sie, dass das Textanzeigeprogramm die nicht darstellbaren Zeichen wieder maskieren konnte.) -r, --recursive Beim Auflisten von Units werden auch Units von lokalen Containern angezeigt. Units von lokalen Containern wird der Container-Name vorangestellt, getrennt durch einen einzelnen Doppelpunkt (>>:<<). Hinzugefugt in Version 212. --reverse Zeigt mit list-dependencies inverse Abhangigkeiten an, d.h. folgt Abhangigkeiten vom Typ WantedBy=, RequiredBy=, UpheldBy=, PartOf=, BoundBy= statt Wants= und ahnlichen. Hinzugefugt in Version 203. --after Zeigt mit list-dependencies Units an, die vor der angegebenen Unit angeordnet sind. Mit anderen Worten, listet rekursiv Units, die der Abhangigkeit After= folgen, auf. Beachten Sie, dass jede Abhangigkeit After= automatisch gespiegelt wird, um eine Abhangigkeit Before= zu erstellen. Temporare Abhangigkeiten konnen explizit angegeben werden, werden aber auch implizit fur Units mit den Zielen WantedBy= (siehe systemd.target(5)) und als Ergebnis von anderen Anweisungen (beispielsweise RequiresMountsFor=) erstellt. Sowohl explizit als auch implizit eingefuhrte Abhangigkeiten werden mit list-dependencies angezeigt. Bei der Ubergabe an den Befehl list-jobs wird fur jeden dargestellten Auftrag angezeigt, welche anderen Auftrage auf ihn warten. Kann mit --before kombiniert werden, um sowohl die Auftrage, die auf jeden Auftrag warten, als auch alle Auftrage, auf die jeder Auftrag wartet anzuzeigen. Hinzugefugt in Version 203. --before Zeigt mit list-dependencies Units an, die nach der angegebenen Unit angeordnet sind. Mit anderen Worten, listet rekursiv Units, die der Abhangigkeit Before= folgen, auf. Bei der Ubergabe an den Befehl list-jobs wird fur jeden dargestellten Auftrag angezeigt, auf welche anderen Auftrage er wartet. Kann mit --after kombiniert werden, um sowohl die Auftrage, die auf jeden Auftrag warten, als auch alle Auftrage, auf die jeder Auftrag wartet anzuzeigen. Hinzugefugt in Version 212. --with-dependencies Bei der Verwendung mit status, cat, list-units und list-unit-files geben diese Befehle alle angegebenen Units und die Abhangigkeiten von diesen Units aus. Die Optionen --reverse, --after, --before konnen zur Anderung, welche Abhangigkeitsarten gezeigt werden, verwandt werden. Hinzugefugt in Version 245. -l, --full Verkurzt Unit-Namen, Prozessbaumeintrage, Journal-Ausgabe nicht und schneidet Unit-Beschreibungen in der Ausgabe von status, list-units, list-jobs und list-timers nicht ab. Zeigt auch Installationsziele in der Ausgabe von is-enabled an. --value Zeigt bei der Ausgabe der Eigenschaften mit show nur den Wert an, der Eigenschaftsname und das >>=<< wird ubersprungen. Siehe auch obige Option -P. Hinzugefugt in Version 230. --show-types Zeigt bei der Anzeige von Sockets auch den Typ des Sockets an. Hinzugefugt in Version 202. --job-mode= Beim Einstellen eines Auftrags in die Warteschlangen steuert diese Option, wie mit bereits in der Warteschlange befindlichen Auftragen umgegangen werden soll. Sie akzeptiert entweder >>fail<<, >>replace<<, >>replace-irreversibly<<, >>isolate<<, >>ignore-dependencies<<, >>ignore-requirements<<, >>flush<<, >>triggering<< oder >>restart-dependencies<<. Standardmassig >>replace<<, ausser wenn der Befehl isolate verwandt wird, da dieser den Auftragsmodus >>isolate<< impliziert. Falls >>fail<< angegeben ist und die angeforderte Aktion in Konflikt mit einem anhangigen Auftrag steht (genauer: dazu fuhrt, dass ein anhangiger Auftrag in einen Stopp-Auftrag oder umgedreht umgewandelt wird), wird die Aktion fehlschlagen. Falls (die Vorgabe) >>replace<< angegeben ist, wird jeder in Konflikt stehende anhangige Auftrag falls notwendig ersetzt. Falls >>replace-irreversibly<< angegeben ist, wird wie bei >>replace<< agiert, aber die neuen Auftrage als unumkehrbar markiert. Dies hindert zukunftige in Konflikt stehende Transaktionen daran, diese Auftrage zu ersetzen (oder sie selbst daran, in die Warteschlange aufgenommen zu werden, wahrend die irreveresiblen Auftrage noch anhangig sind). Irreversible Auftrage konnen weiterhin mit dem Befehl cancel abgebrochen werden. Dieser Auftragmodus sollte bei jeder Transaktion, die shutdown.target hereinzieht, verwandt werden. >>isolate<< ist nur fur Startaktionen gultig und fuhrt dazu, dass alle anderen Units beendet werden, wenn die angegebene Unit gestartet wird. Dieser Modus wird immer verwandt, wenn der Befehl isolate verwandt wird. >>flush<< fuhrt dazu, dass alle Auftrage in der Warteschlange abgebrochen werden, wenn der neue Auftrag in die Warteschlange eingestellt wird. Falls >>ignore-dependencies<< angegeben ist, werden alle Unit-Abhangigkeiten fur diesen neuen Auftrag ignoriert und die Aktion wird sofort ausgefuhrt. Falls ubergeben, werden keine fur die Unit benotigten Units hereingezogen und keine Ordnungsabhangigkeiten berucksichtigt. Dies dient hauptsachlich der Fehlersuche und als Rettungswerkzeug fur den Administrator und sollte von Anwendungen nicht verwandt werden. >>ignore-requirements<< ist ahnlich zu >>ignore-dependencies<<, fuhrt aber nur dazu, dass die Voraussetzungsabhangigkeiten ignoriert werden, die Ordnungsabhangigkeiten werden weiterhin respektiert. >>triggering<< kann nur mit systemctl stop verwandt werden. In diesem Modus wird die angegebene Unit und alle aktiven Units, die es auslost, gestoppt. Siehe die Diskussion von Triggers= in systemd.unit(5) fur weitere Informationen uber auslosende Units. >>restart-dependencies<< darf nur mit systemctl start verwandt werden. In diesem Modus werden Abhangigkeiten der angegebenen Unit eine Neustart-Weiterleitung erhalten, als ob der Neustart-Auftrag fur die Unit in die Warteschlange gestellt worden ware. Hinzugefugt in Version 209. -T, --show-transaction Zeigt eine knappe Information uber alle Auftrage in der Warteschlange an, wenn eine Unit in die Warteschlange gestellt wird (beispielsweise als Auswirkung des Aufrufs systemctl start oder ahnlichem). Dabei werden sowohl die angeforderten Auftrage als auch alle aufgrund von Unit-Abhangigkeiten hinzugefugte berucksichtigt. Beachten Sie, dass die Ausgabe nur Auftrage enthalten wird, die sofort Teil der angeforderten Transaktion sind. Es ist moglich, dass die Ausfuhrung des Programmcodes des Dienstes zum Hochfahren die Auswirkung hat, dass die angeforderten Auftrage dass Hereinziehen weiterer Auftrage anfordern. Das bedeutet, dass beim Abschluss der angezeigten Auftrage letztendlich mehr Auftrage als die angezeigten enthalten sein konnten. Hinzugefugt in Version 242. --fail Kurzform von --job-mode=fail. Wird dies mit dem Befehl kill zusammen verwandt, wird die Aktion zu einem Fehler fuhren, falls keine Units getotet wurden. Hinzugefugt in Version 227. --check-inhibitors= Diese Option steuert, wie das Uberprufen der Unterdruckungssperren erfolgt, wenn das Herunterfahren oder der Schlafzustand erbeten wurde. Sie akzeptiert entweder >>auto<<, >>yes<< oder >>no<<. Standardmassig >>auto<<, das sich wie >>yes<< fur interaktive Aufrufe (d.h. von einem TTY) und wie >>no<< fur nicht interaktive Aufrufe verhalten wird. >>yes<< ermoglicht es, dass die Anfrage Unterdruckungssperren berucksichtigt. >>no<< fuhrt dazu, dass die Anfrage Unterdruckungssperren ignoriert. Anwendungen konnen Unterdruckungssperren einrichten, um zu verhindern, dass bestimmte wichtige Aktionen (wie das Brennen von CDs) durch das Herunterfahren des Systems oder Schlafen unterbrochen werden. Jeder Benutzer kann diese Sperren erlangen und privilegierte Benutzer durfen diese Sperren ausser Kraft setzen. Falls irgendwelche Sperren erlangt wurden, werden Anfragen zum Herunterfahren oder fur Schlafzustande normalerweise fehlschlagen (ausser sie sind privilegiert). Falls allerdings >>no<< oder >>auto<< bei nicht interaktiven Anfragen angegeben wurde, wird die Aktion versucht. Falls Sperren vorhanden sind, konnte die Aktion zusatzliche Privilegien benotigen. Die Option --force stellt eine andere Moglichkeit, Unterdrucker ausser Kraft zu setzen, bereit. Hinzugefugt in Version 248. -i Kurzform fur --check-inhibitors=no. Hinzugefugt in Version 198. --dry-run Gibt einfach aus, was getan wurde. Momentan von den Unterbefehlen halt, poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, default, rescue, emergency und exit unterstutzt. Hinzugefugt in Version 236. -q, --quiet Unterdruckt die Ausgabe des Ergebnisses der verschiedenen Befehle und auch die Hinweise auf abgeschnittene Protokollzeilen. Dies unterdruckt nicht die Ausgabe von Befehlen, fur die die dargestellte Ausgabe das einzige Ergebnis ist (wie show). Fehler werden immer ausgegeben. --no-warn In den folgenden Fallen werden die standardmassigen Warnungen nicht angezeigt: o Wenn systemctl aufgerufen wird, ohne das procfs auf /proc/ eingehangt ist, o wenn enable oder disable bei Units ohne Installationsinformationen verwandt wird (d.h. dass diese keinen oder eine leeren Abschnitt >>[Install]<< enthalten), o bei der Verwendung von disable kombiniert mit --user auf Units, die im globalen Bereich aktiviert sind, o wenn eine Unit im Zustand stop, disable oder mask ist, aber weiterhin aktive auslosende Units hat. Hinzugefugt in Version 253. --no-block Wartet nicht synchron darauf, dass die angefragte Aktion sich beendet. Falls dies nicht angegeben ist, wird der Auftrag uberpruft, in die Warteschlange eingereiht und systemctl wartet, bis das Hochfahren der Unit abgeschlossen ist. Durch Ubergabe dieses Arguments wird nur uberpruft und in die Warteschlange eingereiht. Diese Option darf nicht mit --wait kombiniert werden. --wait Wartet synchron darauf, dass gestartete Units sich wieder beenden. Diese Option darf nicht mit --no-block kombiniert werden. Beachten Sie, dass dies ewig warten wird, falls eine ubergebene Unit sich nie beendet (entweder selbst oder explizit gestoppt wird); insbesondere Dienste, die >>RemainAfterExit=yes<< verwenden. Wird dies zusammen mit is-system-running verwandt, wird gewartet, bis der Systemstartprozess abgeschlossen ist, bevor zuruckgekehrt wird. Hinzugefugt in Version 232. --user Kommuniziert mit dem Diensteverwalter des aufrufenden Benutzers statt mit dem Diensteverwalter des Systems. --system Kommuniziert mit dem Diensteverwalter des Systems. Dies ist die implizite Vorgabe. --failed Listet Units im fehlgeschlagenen Zustand auf. Dies ist zu --state=failed aquivalent. Hinzugefugt in Version 233. --no-wall Versendet keine Wall-Nachrichten vor halt, power-off und reboot. --global Agiert im globalen Benutzerverzeichnis, falls mit enable und disable verwandt, und gibt somit eine Unit-Datei global fur alle zukunftigen Anmeldungen aller Benutzer frei oder schaltetet sie aus. --no-reload Ladt Daemon-Konfiguration nach der Ausfuhrung der Anderung nicht implizit neu, falls mit enable und disable verwandt. --no-ask-password Deaktiviert bei der Verwendung mit start und verwandten Befehlen Fragen nach Passwortern. Hintergrunddienste konnen die Eingabe von Passwortern oder Passphrasenzeichenketten benotigten, beispielsweise um Systemfestplatten oder kryptographische Zertifikate zu entsperren. Ausser wenn diese Option angegeben ist und der Befehl von einem Terminal aus ausgefuhrt wird, wird systemctl den Benutzer auf dem Terminal nach den notwendigen Geheimnissen fragen. Verwenden Sie diesen Schalter, um das Verhalten abzuschalten. In diesem Fall muss das Passwort uber einen anderen Weg bereitgestellt werden (beispielsweise graphische Passsworte-Agenten) oder der Service konnte fehlschlagen. Dies deaktiviert auch die Abfrage des Benutzers fur die Authentifizierung fur privilegierte Aktionen. --kill-whom= Wahlt bei der Verwendung mit kill aus, welchen Prozessen ein UNIX-Prozesssignal gesandt werden soll. Muss einer aus main, control und all sein, um auszuwahlen, ob nur der Hauptprozess, der Steuerprozess oder alle Prozess der Unit getotet werden soll(en). Der Hauptprozess der Unit ist derjenige, der die Lebensdauer bestimmt. Ein Steuerprozess einer Unit ist derjenige, der durch den Verwalter aufgerufen wird, um Statusanderungen zu veranlassen. Beispielsweise sind alle Prozesse, die aufgrund von ExecStartPre=-, ExecStop=- oder ExecReload=-Einstellungen von Dienste-Units gestartet werden, Steuerprozesse. Beachten Sie, dass es fur jeden Zeitpunkt nur einen Steuerprozess pro Unit gibt, da nur eine Statusanderung gleichzeitig ausgefuhrt wird. Fur Dienste vom Typ Type=forking ist der vom Verwalter fur ExecStart= initial gestartete Prozess der Steuerprozess, wahrend der schliesslich mittels Fork gestartete Prozess dann als Hauptprozess der Unit betrachtet wird (falls er bestimmt werden kann). Dies ist fur Dienste-Units von anderen Typen verschieden, wo der vom Verwalter fur ExecStart= mit Fork gestartete Prozess immer der Hauptprozess selbst ist. Eine Dienste-Unit besteht aus keinem oder einem Hauptprozess, keinem oder einem Steuerprozess sowie einer beliebigen Anzahl von zusatzlichen Prozessen. Allerdings verwalten nicht alle Unit-Typen Prozesse dieser Typen. Fur Einhange-Units sind beispielsweise Steuerprozesse definiert (die die Aufrufe von /bin/mount und /bin/umount sind), aber es ist kein Hauptprozess definiert. Falls weggelassen, ist die Vorgabe all. Hinzugefugt in Version 252. --kill-value=GANZZAHL Falls zusammen mit dem Befehl kill verwandt, wird ein Signal zusammen mit dem ganzzahligen Werteparameter zu den angegebenen Prozess(en) in die Warteschlange stellen. Diese Aktion ist nur fur POSIX-Echtzeitsignale verfugbar (d.h. --signal=SIGRTMIN+ oder --signal=SIGRTMAX- und stellt sicher, dass Signale mittels des Systemaufrufs sigqueue(3) anstelle von kill(3) erstellt werden. Der angegebene Wert muss eine vorzeichenbehaftete 32-bit Ganzzahl sein und darf in dezimaler, hexadezimaler (mit vorangestelltem >>0x<<), oktaler (mit vorangestelltem >>0o<<) oder binarer (mit vorangestelltem >>0b<<) Darstellung angegeben werden. Falls diese Option verwandt wird, wird dieses Signal nur bei dem Steuer- oder Hauptprozess der Unit in die Warteschlange gestellt, niemals bei anderen Prozessen, die zu der Unit gehoren, d.h. --kill-whom=all wird nur die Haupt- und Steuerprozesse betreffen, aber keine anderen Prozesse. Hinzugefugt in Version 254. -s, --signal= Sucht bei der Verwendung mit kill das Signal aus, das an ausgewahlte Prozesse gesandt wird. Muss eines der gut bekannten Signalkennungen wie SIGTERM, SIGINT oder SIGSTOP sein. Falls weggelassen, ist die Vorgabe SIGTERM. Der besondere Wert >>help<< wird alle bekannten Werte darstellen und das Programm wird sich sofort beenden; der besondere Wert >>list<< wird alle bekannten Werte zusammen mit ihren numerischen Signalnummern darstellen und das Programm wird sich sofort beenden. --what= Wahlt aus, welche Art von Unit-bezogenen Ressourcen entfernt werden, wenn der Befehl clean aufgerufen wird, siehe oben. Akzeptiert entweder configuration, state, cache, logs, runtime oder fdstore, um die Art der Ressource auszuwahlen. Diese Option kann mehr als einmal angegeben werden, wodurch alle angegebenen Ressourcentypen entfernt werden. Akzeptiert auch den besonderen Wert all, als Abkurzung zur Angabe aller sechs Ressourcentypen. Falls diese Option nicht angegeben ist, ist die Vorgabe die Kombination von cache, runtime und fdstore, d.h. den drei Arten von Ressourcen, die im Allgemeinen als redundant betrachtet und beim nachsten Aufruf rekonstruiert werden konnen. Beachten Sie, dass die explizite Entfernung des Ressourcentyps fdstore nur nutzlich ist, falls die Option FileDescriptorStorePreserve= aktiviert ist, da der Dateideskriptorspeicher andernfalls automatisch bereinigt wird, wenn die Unit gestoppt wird. Hinzugefugt in Version 243. -f, --force Setzt bei der Verwendung mit enable alle existierenden, im Konflikt stehenden Symlinks ausser Kraft. Erstellt bei der Verwendung mit edit alle angegebenen Units, die noch nicht existieren. Fuhrt bei der Verwendung mit halt, poweroff, reboot oder kexec die ausgewahlten Aktionen ohne Herunterfahren aller Units aus. Allerdings werden alle Prozesse zwangsweise beendet und alle Dateisysteme ausgehangt oder neu nur lesbar wieder eingehangt. Dies ist daher eine drastische, aber relativ sichere Option, um einen sofortigen Neustart anzufragen. Falls --force zweimal fur diese Aktionen angegeben ist (mit der Ausnahme von kexec), werden sie sofort ausgefuhrt, ohne alle Prozesse zu beenden oder Dateisysteme auszuhangen. Warnung: Die zweifache Angabe von --force mit jeden dieser Aktionen kann zu Datenverlust fuhren. Beachten Sie, dass bei zweifacher Angabe von --force die ausgewahlte Aktion von systemctl selbst ausgefuhrt wird und kein Kontakt zum Systemverwalter aufgenommen wird. Dies bedeutet, dass dieser Befehl erfolgreich sein sollte, selbst wenn der Systemverwalter abgesturzt ist. --message= Setzt bei der Verwendung mit halt, poweroff oder reboot eine kurze Nachricht, die den Grund fur die Aktion beschreibt. Die Nachricht wird zusammen mit der Standard-Herunterfahrnachricht protokolliert. Hinzugefugt in Version 225. --now Startet bei der Verwendung mit enable die Units auch. Bei der Verwendung mit disable oder mask werden die Units auch gestoppt. Die Start- oder Stopp-Aktion wird nur durchgefuhrt, wenn die zugehorige Freigabe- oder Ausschaltaktion erfolgreich war. Hinzugefugt in Version 220. --root= Verwendet beim Einsatz mit enable/disable/is-enabled (und verwandten Befehlen) die angegebenen Wurzelpfade beim Suchen nach Unit-Dateien verwandt. Falls diese Option vorhanden ist, wird systemctl auf dem Dateisystem direkt arbeiten, statt mit dem Daemon systemd zu kommunizieren, um die Anderungen auszufuhren. --image=Abbild Akzeptiert einen Pfad zu einer Plattenabbilddatei oder einem Blockgeratenamen. Falls angegeben, werden alle Aktionen auf das Dateisystem in dem angegebenen Plattenabbild angewandt. Diese Option ist ahnlich zu --root=, agiert aber auf Dateisystemen, die in Plattenabbildern oder Blockgeraten gespeichert sind. Das Plattenabbild sollte entweder nur ein Dateisystem oder eine Reihe von Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, die der Spezifikation fur auffindbare Partitionen[2] folgt. Fur weitere Informationen uber unterstutzte Plattenabbilder, siehe den Schalter von systemd-nspawn(1) mit dem gleichen Namen. Hinzugefugt in Version 252. --image-policy=Richtlinie Akzeptiert gemass systemd.image-policy(7) eine Abbildrichtlinienzeichenkette als Argument. Die Richtlinie wird bei Aktionen auf dem mittels --image= angegebenen Plattenabbild durchgesetzt, siehe oben. Falls nicht angegeben ist die Vorgabe die Richtlinie >>*<<, d.h. alle erkannten Dateisysteme im Abbild werden verwandt. --runtime Fuhrt bei der Verwendung mit enable, disable, edit (und verwandten Befehlen) Anderungen nur temporar durch, so dass sie beim nachsten Neustart verloren sind. Dies hat den Effekt, dass Anderungen nicht in dem Unterverzeichnis von /etc/, sondern in /run/ durchgefuhrt werden, mit identischen sofortigen Effekten, da allerdings die Anderungen bei letzterem beim Neustart verloren gehen, gehen auch die Anderungen verloren. Ahnlich erfolgen bei der Verwendung mit set-property die Anderungen nur temporar, so dass sie beim nachsten Neustart verloren sind. --preset-mode= Akzeptiert >>full<< (die Vorgabe), >>enable-only<< oder >>disable-only<<. Steuert bei der Verwendung mit den Befehlen preset oder preset-all, ob Units entsprechend der Voreinstellungsregeln ausgeschaltet oder freigegeben oder nur freigegeben oder nur ausgeschaltet werden sollen. Hinzugefugt in Version 215. -n, --lines= Steuert bei der Verwendung mit status die Anzahl der anzuzeigenden Journal-Zeilen, gezahlt von der neuesten. Akzeptiert als Argument eine positive Ganzzahl oder 0, um die Journal-Ausgabe zu deaktivieren. Standardmassig 10. -o, --output= Steuert bei der Verwendung mit status die Formatierung der angezeigten Journal-Eintrage. Fur die Auswahlmoglichkeiten siehe journalctl(1). Standardmassig >>short<<. --firmware-setup Zeigt der Firmware des Systems bei der Verwendung mit dem Befehl reboot, poweroff oder halt an, dass fur den nachsten Systemstart in die Firmware-Einrichtungsschnittstelle neu gestartet werden soll. Beachten Sie, dass diese Funktionalitat nicht auf allen Systemen verfugbar ist. Hinzugefugt in Version 220. --boot-loader-menu=Zeituberschreitung Zeigt dem System-Bootloader im Zusammenhang mit dem Befehl reboot, poweroff oder halt an, dass der Bootloader beim nachsten Systemstart das Bootloader-Menu anzeigen soll. Akzeptiert einen Zeitwert als Parameter, der die Zeituberschreitung des Menus angibt. Ubergeben Sie Null, um die Zeituberschreitung des Menus zu deaktivieren. Beachten Sie, dass nicht alle Bootloader diese Funktionalitat unterstutzten. Hinzugefugt in Version 242. --boot-loader-entry=Kennung Zeigt dem System-Bootloader im Zusammenhang mit dem Befehl reboot, poweroff oder halt an, dass der Bootloader beim nachsten Systemstart in einen bestimmten Bootloader-Eintrag starten soll. Akzeptiert einen Bootlaoder-Eintragskennzeichner als Argument oder >>help<<, um die verfugbaren Eintrage anzuzeigen. Beachten Sie, dass nicht alle Bootloader diese Funktionalitat unterstutzten. Hinzugefugt in Version 242. --reboot-argument= Dieser Schalter wird mit reboot verwandt. Der Wert ist architektur- und firmwarespezifisch. Beispielsweise konnte >>recovery<< zum Auslosen der Systemwiederherstellung, >>fota<< konnte zum Auslosen der schnurlosen Firmware-Aktualisierung verwandt werden. Hinzugefugt in Version 246. --plain Bei der Verwendung mit list-dependencies, list-units oder list-machines wird die Ausgabe als Liste statt als Baum dargestellt und die Aufzahlungskreise werden weggelassen. Hinzugefugt in Version 203. --timestamp= Andert das Format der ausgegebenen Zeitstempel. Die folgenden Werte konnen verwandt werden: pretty (dies ist die Vorgabe) "Tag YYYY-MM-DD HH:MM:SS TZ" Hinzugefugt in Version 248. unix "@seconds-since-the-epoch" Hinzugefugt in Version 251. us, s "Tag YYYY-MM-DD HH:MM:SS.UUUUUU TZ" Hinzugefugt in Version 248. utc "Tag YYYY-MM-DD HH:MM:SS UTC" Hinzugefugt in Version 248. us+utc, s+utc "Tag YYYY-MM-DD HH:MM:SS.UUUUUU UTC" Hinzugefugt in Version 248. Hinzugefugt in Version 247. --mkdir Wird dies mit bind verwandt, dann wird die Zieldatei oder das Zielverzeichnis erstellt, bevor die Bind-Einhangung angewandt wird. Beachten Sie, dass der Name dieser Option zwar anzeigt, dass sie nur fur Verzeichnisse geeignet ist, sie aber auch den Zieldateiknoten, uber den eingehangt werden soll, falls das einzuhangende Objekt kein Verzeichnis, sondern eine regulare Datei, ein Gerateknoten, ein Socket oder ein FIFO ist, erstellt. Hinzugefugt in Version 248. --marked Nur zusammen mit reload-or-restart erlaubt. Stellt Neustartauftrage fur alle Units, die die Markierung >>needs-restart<< tragen und Neulade-Auftrage fur Units, die die Markierung >>needs-reload<< tragen, in die Warteschlange. Wenn eine Unit, die zum Neuladen markiert ist, kein Neuladen unterstutzt, dann wird ein Neustart in die Warteschlange eingestellt. Diese Eigenschaften konnen mittels set-property Markers= gesetzt werden. systemctl wird darauf warten, dass in die Warteschlange eingestellte Auftrage sich beenden, ausser wenn --no-block verwandt wird. Hinzugefugt in Version 248. --read-only Erstellt bei der Verwendung mit bind eine nur lesbare Bind-Einhangung. Hinzugefugt in Version 248. --drop-in=NAME Bei der Verwendung mit edit wird NAME als Erganzungsdateiname statt des standardmassigen override.conf verwandt. Hinzugefugt in Version 253. --when= Bei der Verwendung mit halt, poweroff, reboot oder kexec wird die auszufuhrende Aktion fur den angegebenen Zeitstempel eingeplant. Dieser sollte der in systemd.time(7), Abschnitt >>ZEITSTEMPEL AUSWERTEN<< dokumentierten Syntax folgen. Falls insbesondere >>show<< angegeben ist, wird die aktuell eingeplante Aktion angezeigt, die durch Angabe einer leeren Zeichenkette oder >>cancel<< abgebrochen werden kann. Hinzugefugt in Version 254. -H, --host= Fuhrt die Aktion aus der Ferne aus. Geben Sie den Rechnernamen oder einen Benutzernamen und Rechnernamen (getrennt durch >>@<<) an, zu dem verbunden werden soll. Dem Rechnernamen darf optional ein Port, auf dem SSH auf Anfragen wartet, getrennt durch >>:<< und dann ein Container auf dem angegebenen Host angehangt werden, womit direkt zu einem bestimmten Container auf dem angegebenen Rechner verbunden wird. Dies verwendet SSH, um mit der Maschinen-Verwalterinstanz auf dem Rechner in der Ferne zu kommunizieren. Container-Namen durfen mit machinectl -H RECHNER aufgezahlt werden. Stellen Sie IPv6-Adressen in Klammern. -M, --machine= Fuhrt die Aktion in einem lokalen Container aus. Geben Sie den Namen des Containers an, zu dem verbunden werden soll. Optional kann diesem ein Benutzername, abgetrennt durch ein >>@<<-Zeichen, als der verbunden werden soll, vorangestellt werden. Falls die besondere Zeichenkette >>.host<< anstelle des Container-Names verwandt wird, wird eine Verbindung zu dem lokalen System aufgebaut (das ist nutzlich, um sich zu dem Benutzerbus eines bestimmten Benutzers zu verbinden: >>--user --machine=lennart@.host<<. Falls die >>@<<-Syntax nicht verwandt wird, wird die Verbindung als Benutzer >>root<< vorgenommen. Falls die >>@<<-Syntax verwandt wird, kann entweder die linke oder die rechte Seite fortgelassen werden (aber nicht beide). In diesem Fall wird der lokale Benutzername und >>.host<< angenommen. --no-pager Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. --legend=LOGISCH Aktiviert oder deaktiviert die Ausgabe der Legende, d.h. der Spaltenuberschriften und der Fusszeile mit Hinweisen. Standardmassig wird die Legende ausgegeben, ausser dies wurde mit --quiet oder ahnlichem deaktiviert. -h, --help Zeigt einen kurzen Hilfetext an und beendet das Programm. --version Zeigt eine kurze Versionszeichenkette an und beendet das Programm. EXIT-STATUS Bei Erfolg wird 0 zuruckgegeben, anderenfalls ein Fehlercode ungleich Null. systemctl verwendet die durch LSB definierten Ruckgabewerte, wie sie in LSB 3.0.0[3] definiert sind. Tabelle 3. LSB-Ruckgabe-Codes +-----+----------------------+---------------------+ |Wert | Beschreibung in LSB | Verwendung in | | | | Systemd | +-----+----------------------+---------------------+ |0 | "Programm lauft oder | Unit ist aktiv | | | Dienst ist OK" | | +-----+----------------------+---------------------+ |1 | "Programm ist tot | Unit ist nicht | | | und | fehlgeschlagen (von | | | /var/run-PID-Datei | is-failed verwandt) | | | existiert" | | +-----+----------------------+---------------------+ |2 | "Programm ist tot | nicht verwandt | | | und | | | | /var/lock-Sperrdatei | | | | existiert" | | +-----+----------------------+---------------------+ |3 | "Programm lauft | Unit ist nicht | | | nicht" | aktiv | +-----+----------------------+---------------------+ |4 | "Programm- oder | keine solche Unit | | | Dienstezustand | | | | unbekannt" | | +-----+----------------------+---------------------+ Die Abbildung der LSB-Dienstezustande auf Systemd-Unit-Zustande ist nicht perfekt. Daher ist es besser, sich nicht auf diese Ruckgabewerte zu verlassen, sondern stattdessen nach bestimmten Unit-Zustanden und Unterzustanden zu schauen. UMGEBUNGSVARIABLEN $SYSTEMD_EDITOR Der bei der Bearbeitung von Units zu verwendende Editor: setzt $EDITOR und $VISUAL ausser Kraft. Falls weder $SYSTEMD_EDITOR, $EDITOR noch $VISUAL vorhanden sind oder falls es auf eine leere Zeichenkette gesetzt ist oder falls seine Ausfuhrung fehlschlug, wird Systemctl versuchen, gut bekannte Editoren in dieser Reihenfolge auszufuhren: editor(1), nano(1), vim(1), vi(1). Hinzugefugt in Version 218. $SYSTEMD_LOG_LEVEL Die maximale Protokollierstufe ausgesandter Nachrichten (Nachrichten mit einer hoheren Protokollierstufe, d.h. weniger wichtige, werden unterdruckt). Sie muss (in absteigender Reihenfolge) entweder alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 07 sein. Siehe syslog(3) fur weitere Informationen. $SYSTEMD_LOG_COLOR Ein logischer Wert. Falls wahr, werden auf das TTY geschriebene Nachrichten gemass ihrer Prioritat eingefarbt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Nachrichten gemass ihrer Protokollierungsstufe einfarben. $SYSTEMD_LOG_TIME Ein logischer Wert. Falls wahr, wird den Protokollnachrichten der Konsole ein Zeitstempel vorangestellt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhangen werden. $SYSTEMD_LOG_LOCATION Ein logischer Wert. Falls wahr, wird den Protokollnachrichten ein Dateinamen und eine Zeilenummer in dem Quellcode, aus dem die Nachrichten stammen, vorangestellt. Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Eintragen angehangt ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch sein. $SYSTEMD_LOG_TARGET Das Ziel fur Protokolliernachrichten. Entweder console (auf das angehangte TTY protokollieren), console-prefixed (auf das angehangte TTY protokollieren, aber die Protokollierstufe und >>Einrichtung<< voranstellen, siehe syslog(3)), kmsg (in den zirkularen Kernel-Protokollpuffer protokollieren), journal (in das Journal protokollieren (journal-or-kmsg (in das Journal protokollieren, falls verfugbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln, die Vorgabe) oder null (die Protokollierung deaktivieren). $SYSTEMD_PAGER Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; setzt $PAGER ausser Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen der Reihe nach ausprobiert, einschliesslich less(1) und more(1), bis eines gefunden wird. Falls keine Implementierung eines Textanzeigeprogramms gefunden wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert >>cat<< ist aquivalent zur Ubergabe von --no-pager. Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne Ruckmeldung ignoriert. $SYSTEMD_LESS Setzt die an less ubergebenen Optionen (standardmassig >>FRSXMK<<) ausser Kraft. Benutzer konnten insbesondere zwei Optionen andern wollen: K Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen Sie diese Option zuruck. Falls der Wert von $SYSTEMD_LESS kein >>K<< enthalt und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden. X Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmassig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfugung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht moglich. Siehe less(1) fur weitere Ausfuhrungen. $SYSTEMD_LESSCHARSET Setzt den an less zu ubergebenden Zeichensatz (standardmassig >>utf-8<<, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) ausser Kraft. $SYSTEMD_PAGERSECURE Akzeptiert einen logischen Wert. Wenn wahr, wird der >>sichere<< Modus des Textanzeigeprogramms verwandt, falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE uberhaupt nicht gesetzt ist, dann wird der sichere Modus aktiviert, falls die effektive Kennung nicht identisch zu dem Eigentumer der Anmeldesitzung ist, siehe geteuid(2) und sd_pid_get_owner_uid(3). Im sicheren Modus wird LESSSECURE=1 beim Aufruf des Textanzeigeprogramms gesetzt und das Textanzeigeprogramm muss Befehle deaktivieren, die neue Dateien offnen oder erstellen oder die einen neuen Unterprozess starten. Falls $SYSTEMD_PAGERSECURE uberhaupt nicht gesetzt ist, werden Textanzeigeprogramme, bei denen unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt. (Derzeit implementiert nur less(1) einen sicheren Modus.) Hinweis: Wenn Befehle mit erhohten Rechten ausgefuhrt werden, beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten interaktiven Funktionalitaten aktiviert werden. Der >>sichere<< Modus fur das Textanzeigeprogramm kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermoglicht, beliebige Befehle auszufuhren. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen $SYSTEMD_PAGER oder $PAGER berucksichtigt werden sollen. Es kann sinnvoll sein, stattdessen das Textanzeigeprogramm komplett mit --no-pager zu deaktivieren. $SYSTEMD_COLORS Akzeptiert ein logisches Argument. Wenn wahr, werden systemd und verwandte Hilfswerkzeuge Farben in ihrer Ausgabe verwenden, andernfalls wird die Ausgabe einfarbig sein. Zusatzlich kann die Variable eine der folgenden besonderen Werte annehmen: >>16<<, >>256<<, um die Verwendung von Farbe auf die grundlegenden 16 bzw. 256 ANSI-Farben zu beschranken. Dies kann festgelegt werden, um die auf $TERM und der vorliegenden Verbindung der Konsole basierende automatische Entscheidung ausser Kraft zu setzen. $SYSTEMD_URLIFY Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links fur Terminal-Emulatoren, die dies unterstutzen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, ausser Kraft zu setzen. SIEHE AUCH systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resource-control(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7) ANMERKUNGEN 1. Systemladerspezifikation https://uapi-group.org/specifications/specs/boot_loader_specification 2. Spezifikation fur auffindbare Partitionen https://uapi-group.org/specifications/specs/discoverable_partitions_specification 3. LSB 3.0.0 http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 SYSTEMCTL(1)