Handbücher für die Kommandozeile

Man » journalctl Manual online - detaillierte Online-Dokumentation für die journalctl-Manpage

🌍
journalctl - Gibt Protokolleinträge aus dem Systemd-Journal aus.

SYNOPSIS

journalctl [OPTIONEN...] [ÜBEREINSTIMMUNGEN...]

BESCHREIBUNG

journalctl wird verwendet, um die im Journal von systemd-journald.service(8) und systemd-journal-remote.service(8) gespeicherten Protokolleinträge auszugeben.

Wenn es ohne Parameter aufgerufen wird, zeigt es den Inhalt des Journals an, auf den der aufrufende Benutzer Zugriff hat, beginnend mit dem ältesten Eintrag.

Wenn ein oder mehrere Übereinstimmungsparameter übergeben werden, wird die Ausgabe entsprechend gefiltert. Eine Übereinstimmung hat das Format „FELD=WERT“, z. B. „_SYSTEMD_UNIT=httpd.service“, und bezieht sich auf die Komponenten eines strukturierten Journaleintrags. Siehe systemd.journal-fields(7) für eine Liste bekannter Felder. Wenn mehrere Übereinstimmungen angegeben werden, die sich auf verschiedene Felder beziehen, wird die Ausgabe sowohl nach dem einen als auch nach dem anderen gefiltert, d. h. die resultierende Ausgabe zeigt nur Einträge an, die allen angegebenen Übereinstimmungen dieser Art entsprechen. Wenn zwei Übereinstimmungen auf dasselbe Feld angewendet werden, werden sie automatisch als Alternativen abgeglichen, d. h. die resultierende Ausgabe zeigt Einträge an, die einer der angegebenen Übereinstimmungen für dasselbe Feld entsprechen. Schließlich kann das Zeichen „+“ als separates Wort zwischen anderen Begriffen in der Befehlszeile erscheinen. Dadurch werden alle Übereinstimmungen davor und danach in einer Disjunktion (d. h. einer logischen ODER-Verknüpfung) kombiniert.

Es ist auch möglich, die Einträge zu filtern, indem ein absoluter Dateipfad als Argument angegeben wird. Der Dateipfad kann eine Datei oder ein symbolischer Link sein, und die Datei muss zum Zeitpunkt der Abfrage vorhanden sein. Wenn ein Dateipfad auf eine ausführbare Binärdatei verweist, wird eine „_EXE=“-Übereinstimmung für den kanonisierten Binärpfad zur Abfrage hinzugefügt. Wenn ein Dateipfad auf ein ausführbares Skript verweist, wird eine „_COMM=“-Übereinstimmung für den Skriptnamen zur Abfrage hinzugefügt. Wenn ein Dateipfad auf einen Geräteknoten verweist, werden „_KERNEL_DEVICE=“-Übereinstimmungen für den Kernelnamen des Geräts und für jedes seiner übergeordneten Geräte zur Abfrage hinzugefügt. Symbolische Links werden aufgelöst, Kernelnamen werden synthetisiert und übergeordnete Geräte werden aus der Umgebung zum Zeitpunkt der Abfrage ermittelt. Im Allgemeinen ist ein Geräteknoten der beste Proxy für ein tatsächliches Gerät, da Protokolleinträge normalerweise keine Felder enthalten, die ein tatsächliches Gerät identifizieren. Damit die resultierenden Protokolleinträge für das tatsächliche Gerät korrekt sind, müssen die relevanten Teile der Umgebung zum Zeitpunkt, als der Eintrag protokolliert wurde, insbesondere das tatsächliche Gerät, das dem Geräteknoten entspricht, mit denen zum Zeitpunkt der Abfrage übereinstimmen. Da sich Geräteknoten im Allgemeinen bei jedem Neustart in Bezug auf ihre entsprechenden Geräte ändern, führt das Angeben eines Geräteknotenpfads dazu, dass die resultierenden Einträge auf diejenigen vom aktuellen Neustart beschränkt werden.


Zusätzliche Einschränkungen können mithilfe der Optionen --boot, --unit=, usw. hinzugefügt werden, um die angezeigten Einträge weiter einzuschränken (logisches UND).

Die Ausgabe wird aus allen zugänglichen Journaldateien, ob rotiert oder aktuell beschrieb, und unabhängig davon, ob sie zum System selbst oder zu zugänglichen Benutzer-Journals gehören, gemischt ausgegeben. Mit der Option --header kann identifiziert werden, aus welchen Dateien die Ausgabe stammt.

Der Satz von Journaldateien, die verwendet werden, kann mit den Optionen --user, --system, --directory=, und --file= geändert werden, siehe unten.

Alle Benutzer haben Zugriff auf ihre privaten, benutzerbezogenen Journale. Standardmäßig haben jedoch nur Root-Benutzer und Benutzer, die Mitglieder einiger spezieller Gruppen sind, Zugriff auf das Systemjournal und die Journale anderer Benutzer. Mitglieder der Gruppen „systemd-journal“, „adm“ und „wheel“ können alle Journaldateien lesen. Beachten Sie, dass die beiden letzteren Gruppen traditionell zusätzliche von der Distribution bereitgestellte Berechtigungen haben. Mitglieder der Gruppe „wheel“ können oft administrative Aufgaben ausführen.

Die Ausgabe wird standardmäßig über less seitenweise angezeigt, und lange Zeilen werden auf die Bildschirmbreite „gekürzt“. Der ausgeblendete Teil kann mit den Pfeiltasten links und rechts angezeigt werden. Die Seitendarstellung kann deaktiviert werden; siehe die Option --no-pager und den Abschnitt „Umgebung“ unten.

Wenn die Ausgabe an ein TTY erfolgt, werden Zeilen entsprechend ihrer Priorität farblich hervorgehoben: Zeilen des Niveaus ERROR und höher werden rot dargestellt; Zeilen des Niveaus WARNING werden gelb dargestellt; Zeilen des Niveaus NOTICE werden hervorgehoben; Zeilen des Niveaus INFO werden normal angezeigt; Zeilen des Niveaus DEBUG werden grau dargestellt.

Um Einträge in das Journal zu schreiben, können verschiedene Methoden verwendet werden. Im Allgemeinen wird die Ausgabe von Systemd-Einheiten automatisch mit dem Journal verbunden, siehe systemd-journald.service(8). Darüber hinaus kann systemdcat(1) verwendet werden, um Nachrichten direkt an das Journal zu senden.

QUELLEN-OPTIONEN

Die folgenden Optionen steuern, woher die Journal-Einträge gelesen werden:

--system, --user

Zeigt Nachrichten von Systemdiensten und dem Kernel an (mit --system). Zeigt Nachrichten von Diensten des aktuellen Benutzers an (mit --user). Wenn keine der beiden angegeben ist, werden alle Nachrichten angezeigt, die der Benutzer sehen kann.

Die Option --user beeinflusst, wie --unit=-Argumente behandelt werden. Siehe --unit=.

Beachten Sie, dass --user nur funktioniert, wenn die persistente Protokollierung über die Einstellung Storage= in journald.conf(5) aktiviert ist.

Hinzugefügt in Version 205.

-M, --machine=

Zeigt Nachrichten von einem lokalen, laufenden Container an. Geben Sie einen Containernamen an, um eine Verbindung herzustellen.

Hinzugefügt in Version 209.

-m, --merge

Zeigt Einträge gemischt aus allen verfügbaren Journals an, einschließlich Remote-Journals.

Hinzugefügt in Version 190.

-D DIR, --directory=DIR

Akzeptiert einen Verzeichnispfad als Argument. Wenn angegeben, arbeitet journalctl auf dem angegebenen Journalverzeichnis DIR anstelle der Standard-Laufzeit- und System-Journalpfade.

Hinzugefügt in Version 187.

-i GLOB, --file=GLOB

Akzeptiert ein Dateimuster als Argument. Wenn angegeben, arbeitet journalctl auf den angegebenen Journaldateien, die mit GLOB übereinstimmen, anstelle der Standard-Laufzeit- und System-Journalpfade. Kann mehrmals angegeben werden, in diesem Fall werden die Dateien entsprechend gemischt.


In Version 205 hinzugefügt.

--root=VERZEICHNIS

Akzeptiert einen Verzeichnispfad als Argument. Wenn angegeben, arbeitet journalctl auf den Journal- verzeichnissen und der Katalogdateihierarchie unter dem angegebenen Verzeichnis anstelle des Stammverzeichnisses (z. B. erstellt --update-catalog VERZEICHNIS/var/lib/systemd/catalog/database, und Journaldateien unter VERZEICHNIS/run/journal/ oder VERZEICHNIS/var/log/journal/ werden angezeigt).

In Version 201 hinzugefügt.

--image=DATEI

Akzeptiert einen Pfad zu einer Festplattenimage-Datei oder einem Blockgerätknoten. Wenn angegeben, arbeitet journalctl auf dem Dateisystem in dem angegebenen Festplattenimage. Diese Option ähnelt --root=, wirkt sich jedoch auf Dateisysteme aus, die in Festplattenimages oder Blockgeräten gespeichert sind, und bietet so eine einfache Möglichkeit, Protokolldaten aus Festplattenimages zu extrahieren. Das Festplattenimage sollte entweder nur ein Dateisystem oder eine Reihe von Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, gemäß der UAPI.2 Discoverable Partitions Specification[1]. Weitere Informationen zu unterstützten Festplattenimages finden Sie in systemdnspawn(1) unter dem entsprechenden Schalter.

In Version 247 hinzugefügt.

--image-policy=RICHTLINIE

Akzeptiert eine Zeichenkette für die Image-Richtlinie als Argument, gemäß systemd.image-policy(7). Die Richtlinie wird beim Arbeiten mit dem über --image= angegebenen Festplattenimage angewendet, siehe oben. Wenn nicht angegeben, wird standardmäßig die Richtlinie "*", d. h. alle erkannten Dateisysteme in dem Image, verwendet.

--namespace=NAMESPACE

Akzeptiert eine Journal-Namespace-Kennung als Argument. Wenn nicht angegeben, werden die von dem Standard-Namespace gesammelten Daten angezeigt. Wenn angegeben, werden stattdessen die Protokolldaten des angegebenen Namespace angezeigt. Wenn der Namespace als "*" angegeben wird, werden Daten aus allen Namespaces angezeigt, wobei diese miteinander verschmolzen werden. Wenn die Namespace-Kennung mit "+" versehen ist, werden Daten aus dem angegebenen Namespace und dem Standard-Namespace angezeigt, wobei diese miteinander verschmolzen werden, aber keine anderen. Weitere Informationen zu Journal-Namespaces finden Sie unter systemd-journald.service(8).

In Version 245 hinzugefügt.

FILTEROPTIONEN

Die folgenden Optionen steuern, wie Journal-Einträge gefiltert werden:

-S, --since=, -U, --until=

Beginnen Sie mit der Anzeige von Einträgen, die an oder nach dem angegebenen Datum sind, oder an oder vor dem angegebenen Datum. Datumsangaben sollten im Format "2012-10-30 18:17:16" vorliegen. Wenn der Zeitanteil weggelassen wird, wird "00:00:00" angenommen. Wenn nur der Sekundenanteil weggelassen wird, wird ":00" angenommen. Wenn der Datumsanteil weggelassen wird, wird der aktuelle Tag angenommen. Alternativ werden die Zeichenketten "yesterday", "today" und "tomorrow" verwendet, die sich auf 00:00:00 des Tages vor dem aktuellen Tag, den aktuellen Tag bzw. den Tag nach dem aktuellen Tag beziehen. "now" bezieht sich auf die aktuelle Zeit. Schließlich können relative Zeiten angegeben werden, die mit "-" oder "+" beginnen und sich auf Zeiten vor bzw. nach der aktuellen Zeit beziehen. Für vollständige Zeit- und Datumsangaben siehe systemd.time(7). Beachten Sie, dass --output=short-full Zeitstempel ausgibt, die genau dieses Format einhalten.


Hinzugefügt in Version 195.

-c, --cursor=

Beginnt mit der Anzeige von Einträgen ab der in der Protokalldatei durch den übergebenen Cursor angegebenen Position.

Hinzugefügt in Version 193.

--after-cursor=

Beginnt mit der Anzeige von Einträgen ab der Position in der Protokalldatei, die nach der durch den übergebenen Cursor angegebenen Position liegt. Der Cursor wird angezeigt, wenn die Option --show-cursor verwendet wird.

Hinzugefügt in Version 206.

--cursor-file=DATEI

Wenn die DATEI vorhanden ist und einen Cursor enthält, werden die Einträge ab dieser Position angezeigt. Andernfalls werden die Einträge gemäß den anderen angegebenen Optionen angezeigt. Am Ende wird der Cursor des letzten Eintrags in die DATEI geschrieben. Verwenden Sie diese Option, um die Protokalldatei kontinuierlich zu lesen, indem Sie journalctl nacheinander aufrufen.

Hinzugefügt in Version 242.

-b [[ID][±offset]|all], --boot[=[ID][±offset]|all]

Zeigt Nachrichten von einem bestimmten Bootvorgang an. Dies fügt eine Übereinstimmung für "_BOOT_ID=" hinzu.

Das Argument kann leer sein, in diesem Fall werden die Protokolle für den aktuellen Bootvorgang angezeigt.

Wenn die Boot-ID weggelassen wird, sucht ein positives Offset nach den Bootvorgängen, beginnend am Anfang der Protokalldatei, und ein gleich oder kleiner Null Offset sucht nach Bootvorgängen, beginnend am Ende der Protokalldatei. Somit bedeutet 1 den ersten in der Protokalldatei in chronologischer Reihenfolge gefundenen Bootvorgang, 2 den zweiten usw.; während -0 der letzte Bootvorgang ist, -1 der Bootvorgang davor und so weiter. Ein leerer Offset ist gleichbedeutend mit der Angabe von -0, außer wenn der aktuelle Bootvorgang nicht der letzte Bootvorgang ist (z. B., weil --directory= angegeben wurde, um die Protokolle von einer anderen Maschine anzuzeigen).

Wenn die 32-stellige ID angegeben wird, kann optional ein Offset folgen, der den Bootvorgang relativ zu dem durch die Boot-ID angegebenen Bootvorgang identifiziert. Negative Werte bedeuten frühere Bootvorgänge und positive Werte spätere Bootvorgänge. Wenn kein Offset angegeben wird, wird ein Wert von Null angenommen, und die Protokolle für den durch die ID angegebenen Bootvorgang werden angezeigt.

Das spezielle Argument all kann verwendet werden, um die Wirkung einer früheren Verwendung von -b aufzuheben.

Hinzugefügt in Version 186.

-u, --unit=UNIT|PATTERN

Zeigt Nachrichten für die angegebene Systemd-Einheit UNIT (z. B. eine Service-Einheit) oder für alle Einheiten, die dem Muster PATTERN entsprechen. Wenn ein Muster angegeben wird, wird eine Liste von Einheitsnamen aus der Protokalldatei mit dem angegebenen Muster verglichen, und alle übereinstimmenden Einheiten werden verwendet. Für jede Einheitsname wird eine Übereinstimmung für Nachrichten von der Einheit ("_SYSTEMD_UNIT=UNIT") sowie zusätzliche Übereinstimmungen für Nachrichten von Systemd und Nachrichten über Core-Dumps für die angegebene Einheit hinzugefügt. Eine Übereinstimmung wird auch für "_SYSTEMD_SLICE=UNIT" hinzugefügt, so dass, wenn die angegebene UNIT eine systemd.slice(5)-Einheit ist, alle Protokolle der untergeordneten Elemente der Slice angezeigt werden.

Mit --user werden alle --unit= Argumente so konvertiert, dass sie Benutzernachrichten abgleichen, als ob sie mit --user-unit= angegeben würden.

Dieser Parameter kann mehrmals angegeben werden.

Hinzugefügt in Version 195.

--user-unit=

Zeigt Nachrichten für die angegebene Benutzersitzungseinheit an. Dies fügt eine Übereinstimmung für Nachrichten von der Einheit ("_SYSTEMD_USER_UNIT=" und "_UID=") sowie zusätzliche Übereinstimmungen für Nachrichten von der Sitzungssystemd und Nachrichten über Core-Dumps für die angegebene Einheit hinzu. Eine Übereinstimmung wird auch für "_SYSTEMD_USER_SLICE=UNIT" hinzugefügt, so dass, wenn die angegebene UNIT eine systemd.slice(5)-Einheit ist, alle Protokolle der untergeordneten Elemente der Einheit angezeigt werden.


Dieser Parameter kann mehrmals angegeben werden.

Eingeführt in Version 198.

-I, --invocation=ID[±offset]|offset
Zeigt Nachrichten von einer bestimmten Instanz einer Einheit an. Dadurch wird eine Übereinstimmung für
„_SYSTEMD_INVOCATION_ID=“, „OBJECT_SYSTEMD_INVOCATION_ID=“, „INVOCATION_ID=“,
„USER_INVOCATION_ID=" hinzugefügt.

Ein positiver Offset sucht die Instanzen einer Systemd-Einheit vom Anfang des Journals aus, und ein Null- oder negativer Offset sucht die Instanzen vom Ende des
Journals aus. Somit bedeutet 1 die erste im Journal gefundene Instanz in chronologischer Reihenfolge, 2 die zweite usw.; während 0 die letzte Instanz, -1 die Instanz vor der letzten usw. ist.

Wenn die 32-stellige ID angegeben wird, kann optional ±offset folgen, wodurch die Instanz relativ zu der durch die ID angegebenen Instanz identifiziert wird. Negative Werte bedeuten frühere Instanzen und positive Werte spätere Instanzen. Wenn ±offset nicht angegeben wird, wird ein Wert von Null angenommen, und die Protokolle für die durch ID angegebene Instanz werden angezeigt.

-I entspricht --invocation=0, und die Protokolle für die letzte Instanz werden angezeigt.

Wenn ein Offset angegeben wird, muss ein Einheitsname mit der Option -u/--unit= oder --user-unit= angegeben werden.

Wenn sie mit -b/--boot= angegeben wird, werden die Instanzen innerhalb des angegebenen Bootvorgangs durchsucht.

Eingeführt in Version 257.

-t, --identifier=SYSLOG_IDENTIFIER
Zeigt Nachrichten für die angegebene Syslog-ID SYSLOG_IDENTIFIER an.

Dieser Parameter kann mehrmals angegeben werden.

Eingeführt in Version 217.

-T, --exclude-identifier=SYSLOG_IDENTIFIER
Schließt Nachrichten für die angegebene Syslog-ID SYSLOG_IDENTIFIER aus.

Dieser Parameter kann mehrmals angegeben werden.

Eingeführt in Version 256.

-p, --priority=
Filtert die Ausgabe nach Nachrichtenzprioritäten oder Prioritätsbereichen. Nimmt entweder eine einzelne numerische oder textuelle Protokollebene (z. B. zwischen 0/"emerg" und 7/"debug") oder einen Bereich numerischer/textueller Protokollebenen in der Form FROM..TO entgegen. Die Protokollebenen sind die üblichen Syslog-Protokollebenen, wie in syslog(3) dokumentiert, d. h. "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4),
"notice" (5), "info" (6), "debug" (7). Wenn eine einzelne Protokollevele angegeben wird, werden alle Nachrichten mit dieser Protokollevele oder einer niedrigeren (daher wichtigeren) Protokollevele angezeigt. Wenn ein Bereich angegeben wird, werden alle Nachrichten innerhalb des Bereichs angezeigt, einschließlich des Start- und Endwerts des Bereichs. Dadurch werden „PRIORITY=" -Übereinstimmungen für die angegebenen Prioritäten hinzugefügt.

Eingeführt in Version 188.

--facility=
Filtert die Ausgabe nach Syslog-Facility. Nimmt eine durch Kommas getrennte Liste von Zahlen oder Facility-Namen entgegen.
Die Namen sind die üblichen Syslog-Facilities, wie in syslog(3) dokumentiert. --facility=help kann verwendet werden, um eine Liste der bekannten Facility-Namen anzuzeigen und zu beenden.

Hinzugefügt in Version 245.

-g, --grep=

Filtert die Ausgabe, sodass nur Einträge angezeigt werden, deren MESSAGE= Feld mit dem angegebenen regulären Ausdruck übereinstimmt. Es werden PERL-kompatible reguläre Ausdrücke verwendet, siehe pcre2pattern(3) für eine detaillierte Beschreibung der Syntax.

Wenn das Muster vollständig in Kleinbuchstaben geschrieben ist, erfolgt die Übereinstimmung ohne Beachtung der Groß- und Kleinschreibung. Andernfalls erfolgt die Übereinstimmung unter Beachtung der Groß- und Kleinschreibung. Dies kann mit der Option --case-sensitive überschrieben werden, siehe unten.

Bei Verwendung mit --lines= (nicht mit "+" versehen) wird --reverse impliziert.

Hinzugefügt in Version 237.

--case-sensitive[=BOOLEAN]

Legt fest, ob die Musterübereinstimmung unter Beachtung der Groß- und Kleinschreibung oder ohne Beachtung der Groß- und Kleinschreibung erfolgen soll.

Hinzugefügt in Version 237.

-k, --dmesg

Zeigt nur Kernel-Nachrichten an. Dies fügt die Übereinstimmung "_TRANSPORT=kernel" hinzu. Dies impliziert --boot=0, es sei denn, dies wird explizit anders angegeben.

Hinzugefügt in Version 205.

AUSGABEOPTIONEN

Die folgenden Optionen steuern, wie Journal-Einträge ausgegeben werden:

-o, --output=

Steuert die Formatierung der angezeigten Journal-Einträge. Nimmt eine der folgenden Optionen entgegen:

short
ist die Standardeinstellung und generiert eine Ausgabe, die weitgehend der Formatierung von
klassischen Syslog-Dateien entspricht, wobei pro Journal-Eintrag eine Zeile angezeigt wird.

Hinzugefügt in Version 206.

short-full
ist sehr ähnlich, zeigt aber Zeitstempel im Format, das die Optionen --since= und --until=
akzeptieren. Im Gegensatz zu den Zeitstempelinformationen, die im Modus "short" angezeigt werden, enthält dieser Modus den Wochentag, das Jahr und die Zeitzoneninformationen in der Ausgabe und ist lokalisierungsunabhängig.

Hinzugefügt in Version 232.

short-iso
ist sehr ähnlich, zeigt aber Zeitstempel im RFC 3339[2]-Profil von ISO 8601 an.

Hinzugefügt in Version 206.

short-iso-precise
wie für short-iso, enthält aber die vollständige Mikrosekunden-Genauigkeit.

Hinzugefügt in Version 234.

short-precise
wie für short-iso, zeigt aber klassische Syslog-Zeitstempel mit vollständiger Mikrosekunden-Genauigkeit an.

Hinzugefügt in Version 207.

short-monotonic
ist sehr ähnlich, zeigt aber monotone Zeitstempel anstelle von Echtzeit-Zeitstempeln an.

Hinzugefügt in Version 206.

short-delta
wie für short-monotonic, enthält aber die Zeitdifferenz zum vorherigen Eintrag. Möglicherweise unzuverlässige Zeitdifferenzen werden mit einem "*" gekennzeichnet.

Hinzugefügt in Version 252.

short-unix
ist sehr ähnlich, zeigt aber die Sekunden, die seit dem 1. Januar 1970 UTC vergangen sind, anstelle von Echtzeit-Zeitstempeln ("UNIX-Zeit"). Die Zeit wird mit Mikrosekunden-Genauigkeit angezeigt.

Hinzugefügt in Version 230.

verbose
zeigt die vollständig strukturierten Einträge mit allen Feldern an.

Hinzugefügt in Version 206.

export
serialisiert das Journal in einen binären (aber weitgehend textbasierten) Stream, der für Backups
und Netzwerkübertragungen geeignet ist (siehe Journal Export Format[3] für weitere Informationen). Um den binären Stream wieder in das native Journald-Format zu importieren, verwenden Sie systemd-journal-remote(8).

Hinzugefügt in Version 206.

json
formatiert Einträge als JSON-Objekte, die durch Zeilenumbrüche getrennt sind (siehe Journal JSON

Format[4] für weitere Informationen). Feldwerte werden im Allgemeinen als JSON-Strings kodiert, mit drei Ausnahmen:

    Felder, die größer als 4096 Byte sind, werden als Nullwerte kodiert. (Dies kann durch
die Übergabe von --all deaktiviert werden, aber beachten Sie, dass dies möglicherweise überlange JSON-Objekte erzeugt.)

    Journaleinträge erlauben nicht-eindeutige Felder innerhalb desselben Protokolleintrags. JSON erlaubt keine
nicht-eindeutigen Felder innerhalb von Objekten. Daher wird, wenn ein nicht-eindeutiges Feld gefunden wird,
ein JSON-Array als Feldwert verwendet, in dem alle Feldwerte als Elemente aufgeführt sind.

    Felder, die nicht druckbare oder nicht-UTF8-Bytes enthalten, werden als Arrays kodiert, die die
rohen Bytes einzeln als vorzeichenlose Zahlen formatieren.

Beachten Sie, dass diese Kodierung reversibel ist (mit Ausnahme der Größenbeschränkung).

Hinzugefügt in Version 206.

    json-pretty
formatiert Einträge als JSON-Datenstrukturen, formatiert sie aber in mehreren Zeilen, um sie
für Menschen besser lesbar zu machen.

Hinzugefügt in Version 206.

    json-sse
formatiert Einträge als JSON-Datenstrukturen, umschließt sie aber in ein Format, das für
Server-Sent Events[5] geeignet ist.

Hinzugefügt in Version 206.

    json-seq
formatiert Einträge als JSON-Datenstrukturen, fügt ihnen aber ein ASCII-Zeichentrennzeichen (0x1E)
voran und ein ASCII-Zeilenumbruchzeichen (0x0A) dahinteran, in Übereinstimmung mit JavaScript Object Notation (JSON) Text Sequences[6]
("application/json-seq").

Hinzugefügt in Version 240.

    cat
erzeugt eine sehr knappe Ausgabe, die nur die tatsächliche Nachricht jedes Protokolleintrags ohne Metadaten,
nicht einmal einen Zeitstempel, anzeigt. In Kombination mit der Option `--output-fields=` werden stattdessen
die aufgeführten Felder für jeden Protokolleintrag ausgegeben.

Hinzugefügt in Version 206.

    with-unit
ähnlich wie short-full, fügt aber die Einheit- und Benutzer-Einheitsnamen anstelle der
traditionellen Syslog-Kennung voran. Nützlich bei der Verwendung von Vorlageninstanzen, da die
Argumente in den Einheitsnamen enthalten sind.

Hinzugefügt in Version 239.

    --truncate-newline
Schneidet jede Protokollmeldung am ersten Zeilenumbruchzeichen in der Ausgabe ab, so dass nur die erste
Zeile jeder Meldung angezeigt wird.

Hinzugefügt in Version 254.

    --output-fields=
Eine durch Kommas getrennte Liste der Felder, die in der Ausgabe enthalten sein sollen. Dies hat nur
eine Wirkung für die Ausgabemodi, die normalerweise alle Felder anzeigen würden (verbose, export, json,
json-pretty, json-sse und json-seq) sowie für cat. Für die ersteren werden die Felder "__CURSOR",
"__REALTIME_TIMESTAMP", "__MONOTONIC_TIMESTAMP" und "_BOOT_ID" immer ausgegeben.

Hinzugefügt in Version 236.

    -n, --lines=
Zeigt die letzten Journal-Ereignisse an und begrenzt die Anzahl der angezeigten Ereignisse. Das Argument ist
eine positive ganze Zahl oder "all", um die Begrenzung zu deaktivieren. Wenn die Zahl mit "+" versehen ist,
werden stattdessen die ältesten Journal-Ereignisse verwendet. Der Standardwert ist 10, wenn kein Argument angegeben ist.

Wenn `--follow` verwendet wird, ist diese Option impliziert. Wenn sie nicht mit "+" versehen und mit `--grep=` verwendet wird,
ist `--reverse` impliziert.

    -r, --reverse
Kehrt die Ausgabe um, so dass die neuesten Einträge zuerst angezeigt werden.

Hinzugefügt in Version 198.

    --show-cursor
Der Cursor wird nach dem letzten Eintrag mit zwei Doppelpunkten angezeigt:

    -- cursor: s=0639...

Das Format des Cursors ist privat und kann sich ändern.

Hinzugefügt in Version 209.

    --utc
Gibt die Zeit in koordinierter Weltzeit (UTC) an.

Hinzugefügt in Version 217.

-x, --catalog

Erweitert Protokollzeilen um Erklärungstexte aus dem Nachrichten-Katalog. Dies fügt den Protokollnachrichten in der Ausgabe erklärende Hilfetexte hinzu, sofern verfügbar. Diese kurzen Hilfetexte erklären den Kontext eines Fehlers oder Ereignisses, mögliche Lösungen sowie Verweise auf Supportforen, Entwicklerdokumentation und andere relevante Handbücher. Beachten Sie, dass Hilfetexte nicht für alle Nachrichten verfügbar sind, sondern nur für ausgewählte. Weitere Informationen zum Nachrichten-Katalog finden Sie unter Journal Message Catalogs[7].

Hinweis: Wenn Sie die Ausgabe von journalctl an Fehlerberichte anhängen, verwenden Sie bitte nicht -x.

Hinzugefügt in Version 196.

-W, --no-hostname

Zeigt das Feld „Hostname“ in den Protokollnachrichten nicht an. Diese Option hat nur Auswirkungen auf die kurze Familie von Ausgabemodi (siehe oben).

Hinweis: Diese Option entfernt nicht das Vorkommen des Hostnamens in den Protokolleinträgen selbst, so dass der Hostname in den Protokollen weiterhin sichtbar ist.

Hinzugefügt in Version 230.

--no-full, --full, -l

Kürzt Felder, wenn sie nicht in die verfügbaren Spalten passen. Standardmäßig werden vollständige Felder angezeigt, die dann bei Bedarf vom Pager umbrochen oder abgeschnitten werden.

Die alten Optionen -l/--full sind nicht mehr nützlich, außer um --no-full rückgängig zu machen.

Hinzugefügt in Version 196.

-a, --all

Zeigt alle Felder vollständig an, auch wenn sie nicht druckbare Zeichen oder sehr lange Inhalte enthalten. Standardmäßig werden Felder mit nicht druckbaren Zeichen als „Blob-Daten“ abgekürzt. (Beachten Sie, dass der Pager nicht druckbare Zeichen möglicherweise erneut maskiert.)

-f, --follow

Zeigt nur die neuesten Journaleinträge an und gibt kontinuierlich neue Einträge aus, während sie dem Journal hinzugefügt werden, bis Strg+C gedrückt wird (oder das Tool anderweitig beendet wird).

Journalctl sendet eine sd_notify(3)-Nachricht „READY=1“, sobald es initialisiert wurde und erfolgreich eine Überwachung des Journals eingerichtet hat.

--no-tail

Zeigt alle gespeicherten Ausgabelinien an, auch im Follow-Modus. Hebt die Wirkung von --lines= auf.

-q, --quiet

Unterdrückt alle Informationsmeldungen (d. h. „-- Journal beginnt bei ...“, „-- Neustart --“) und alle Warnmeldungen bezüglich nicht zugänglicher Systemjournale, wenn das Tool als normaler Benutzer ausgeführt wird.

--synchronize-on-exit=

Akzeptiert ein boolesches Argument. Wenn „true“ und im Follow-Modus ausgeführt wird, wird beim Empfang von SIGTERM/SIGINT eine Synchronisationsanfrage an das Journal gesendet (entspricht journalctl --sync), und die Protokollausgabe wird fortgesetzt, bis diese Anfrage abgeschlossen ist. Dies ist nützlich, um die Protokollausgabe mit der Laufzeit von Diensten oder externen Ereignissen zu synchronisieren und sicherzustellen, dass alle bis zum Empfang von SIGTERM/SIGINT vom Protokollierungssystem zwischengespeicherten Protokolldaten verarbeitet und bis zum Ende der Protokollausgabe vom Protokollierungssystem angezeigt werden. Standardmäßig ist dies „false“.

Hinzugefügt in Version 258.

PAGER-STEUEROPTIONEN

Die folgenden Optionen steuern die Pager-Unterstützung:

--no-pager

Leitet die Ausgabe nicht an einen Pager weiter.

-e, --pager-end

Springt sofort zum Ende des Journals im implizierten Pager-Tool. Dies impliziert --lines=1000 und --boot=0, sofern nicht explizit anders angegeben, um sicherzustellen, dass der Pager keine Protokolle unbegrenzter Größe puffert. Beachten Sie, dass diese Option nur für den less(1)-Pager unterstützt wird.


Hinzugefügt in Version 198.

OPTIONEN FÜR FORWARD SECURE SEALING (FSS)

Die folgenden Optionen können zusammen mit dem unten beschriebenen Befehl --setup-keys verwendet werden:

--interval=
Gibt das Änderungsintervall für den Verschlüsselungsschlüssel an, wenn ein FSS-Schlüsselpaar mit `--setup-keys` generiert wird. Kürzere Intervalle erhöhen den CPU-Verbrauch, verkürzen aber den Zeitraum, in dem Journal-Änderungen unentdeckt bleiben können. Standardmäßig 15 Minuten.

Beachten Sie, dass --output=json-sse und --output=json-seq stillschweigend zu --output=json migriert werden.

Hinzugefügt in Version 189.

--verify-key=
Gibt den FSS-Verifizierungsschlüssel an, der für den Befehl `--verify` verwendet werden soll.

Hinzugefügt in Version 189.

--force
Wenn `--setup-keys` übergeben wird und Forward Secure Sealing (FSS) bereits konfiguriert wurde, werden die FSS-Schlüssel neu erstellt.

Hinzugefügt in Version 206.

BEFEHLE

Die folgenden Befehle werden unterstützt. Wenn keiner angegeben ist, werden standardmäßig die Journal-Einträge angezeigt:

-N, --fields
Gibt alle Feldnamen aus, die derzeit in allen Einträgen des Journals verwendet werden.

Hinzugefügt in Version 229.

-F, --field=
Gibt alle möglichen Datenwerte aus, die das angegebene Feld in allen Einträgen des Journals annehmen kann.

Hinzugefügt in Version 195.

--list-boots
Zeigt eine tabellarische Liste der Boot-Nummern (relativ zum aktuellen Boot), ihrer IDs und der Zeitstempel der ersten und letzten Nachricht in Bezug auf das Boot an. Wenn mit der Option `-n/--lines=[+]N` angegeben, werden nur die ersten (wenn die Zahl mit "+" versehen ist) oder die letzten (ohne Präfix) N Einträge angezeigt. Wenn mit `-r/--reverse` angegeben, wird die Liste in umgekehrter Reihenfolge angezeigt.

Hinzugefügt in Version 209.

--list-invocations
Listet die Aufruf-IDs einer Einheit auf. Erfordert einen Einheitsnamen mit `-u/--unit=` oder `--user-unit=`. Zeigt eine tabellarische Liste der Aufrufnummern (relativ zum aktuellen oder letzten Aufruf), ihrer IDs und der Zeitstempel der ersten und letzten Nachricht in Bezug auf den Aufruf an. Wenn `-b/-boot` angegeben ist, werden die Aufrufe in dem Boot angezeigt. Wenn mit der Option `-n/--lines=[+]N` angegeben, werden nur die ersten (wenn die Zahl mit "+" versehen ist) oder die letzten (ohne Präfix) N Einträge angezeigt. Wenn mit `-r/--reverse` angegeben, wird die Liste in umgekehrter Reihenfolge angezeigt.

Hinzugefügt in Version 257.

--disk-usage
Zeigt den aktuellen Festplattenplatz aller Journal-Dateien an. Dies zeigt die Summe des Festplattenplatzes aller archivierten und aktiven Journal-Dateien an.

Hinzugefügt in Version 190.

--vacuum-size=, --vacuum-time=, --vacuum-files=
--vacuum-size= entfernt die ältesten archivierten Journal-Dateien, bis der von ihnen belegte Festplattenplatz unter die angegebene Größe fällt. Akzeptiert die üblichen Suffixe "K", "M", "G" und "T" (mit der Basis 1024).

--vacuum-time= entfernt archivierte Journal-Dateien, die älter als die angegebene Zeitspanne sind. Akzeptiert die üblichen Suffixe "s" (Standard), "m", "h", "days", "weeks", "months" und "years", siehe systemd.time(7) für Details.

--vacuum-files= behält nur die angegebene Anzahl von Journal-Dateien.

Beachten Sie, dass die Ausführung von --vacuum-size= nur einen indirekten Einfluss auf die Ausgabe von --disk-usage hat, da letztere aktive Journaldateien enthält, während die Bereinigungsoperation nur auf archivierte Journaldateien wirkt. In ähnlicher Weise kann --vacuum-files= die Anzahl der Journaldateien möglicherweise nicht tatsächlich auf die angegebene Anzahl reduzieren, da aktive Journaldateien nicht entfernt werden.

^ -vacuum-size=, --vacuum-time= und --vacuum-files= können in einem einzigen Aufruf kombiniert werden, um eine beliebige Kombination aus Größen-, Zeit- und Dateianzahlbegrenzungen für die archivierten Journaldateien durchzusetzen. Das Angeben eines dieser drei Parameter als Null entspricht dem Nichtdurchsetzen der jeweiligen Begrenzung und ist daher redundant.

Diese drei Optionen können auch mit --rotate zu einem einzigen Befehl kombiniert werden. Wenn dies der Fall ist, werden zuerst alle aktiven Dateien rotiert, und die angeforderte Bereinigungsoperation wird unmittelbar danach ausgeführt. Die Rotation hat die Wirkung, dass alle derzeit aktiven Dateien archiviert werden (und möglicherweise neue, leere Journaldateien als Ersatz geöffnet werden), und daher hat die Bereinigungsoperation die größte Wirkung, da sie alle bisher geschriebenen Protokolldaten berücksichtigen kann.

Hinzugefügt in Version 218.

^ -verify Überprüft die Journaldatei auf interne Konsistenz. Wenn die Datei mit aktiviertem FSS generiert wurde und der FSS-Verifizierungsschlüssel mit --verify-key= angegeben wurde, wird die Authentizität der Journaldatei überprüft.

Hinzugefügt in Version 189.

^ -sync Fordert den Journal-Daemon auf, alle noch nicht geschriebenen Journaldaten in das zugrunde liegende Dateisystem zu schreiben und alle Journale zu synchronisieren. Dieser Aufruf kehrt erst zurück, wenn die Synchronisationsoperation abgeschlossen ist. Dieser Befehl garantiert, dass alle Protokollmeldungen, die vor seiner Ausführung geschrieben wurden, zum Zeitpunkt seiner Rückkehr sicher auf der Festplatte gespeichert sind.

Hinzugefügt in Version 228.

^ -relinquish-var Fordert den Journal-Daemon auf, die Umkehroperation von --flush auszuführen: Falls angefordert, schreibt der Daemon weitere Protokolldaten nach /run/log/journal/ und stoppt das Schreiben nach /var/log/journal/. Ein nachfolgender Aufruf von --flush bewirkt, dass die Protokollausgabe wieder nach /var/log/journal/ verschoben wird, siehe oben.

Hinzugefügt in Version 243.

^ -smart-relinquish-var Ähnlich wie --relinquish-var, führt aber keine Operation aus, wenn sich das Root-Dateisystem und /var/log/journal/ auf derselben Mount-Point befinden. Diese Operation wird während des System-Herunterfahrens verwendet, um den Journal-Daemon dazu zu bringen, das Schreiben von Daten nach /var/log/journal/ zu beenden, falls sich dieses Verzeichnis auf einem Mount-Point befindet, der ausgehängt werden muss.

Hinzugefügt in Version 243.

^ -flush Fordert den Journal-Daemon auf, alle in /run/log/journal/ gespeicherten Protokolldaten nach /var/log/journal/ zu verschieben, falls die persistente Speicherung aktiviert ist. Dieser Aufruf kehrt erst zurück, wenn die Operation abgeschlossen ist. Beachten Sie, dass dieser Aufruf idempotent ist: Die Daten werden nur einmal während der Systemlaufzeit von /run/log/journal/ nach /var/log/journal/ verschoben (siehe jedoch --relinquish-var unten), und dieser Befehl wird ordnungsgemäß beendet, ohne eine Operation auszuführen, wenn dies bereits geschehen ist. Dieser Befehl garantiert effektiv, dass alle Daten zum Zeitpunkt seiner Rückkehr nach /var/log/journal/ verschoben werden.


Hinzugefügt in Version 217.

--rotate

Fordert den Journal-Daemon auf, Journal-Dateien zu rotieren. Dieser Aufruf kehrt nicht zurück, bis die Rotationsoperation abgeschlossen ist. Die Rotation von Journal-Dateien bewirkt, dass alle aktuell aktiven Journal-Dateien als archiviert markiert und umbenannt werden, sodass sie in Zukunft nicht mehr beschrieben werden. Neue (leere) Journal-Dateien werden dann an ihrer Stelle erstellt. Dieser Vorgang kann mit --vacuum-size=, --vacuum-time= und --vacuum-file= zu einem einzigen Befehl kombiniert werden, siehe oben.

Hinzugefügt in Version 227.

--header

Anstatt den Inhalt des Journals anzuzeigen, werden interne Header-Informationen der Journal-Felder angezeigt, auf die zugegriffen wird.

Diese Option ist besonders nützlich, wenn versucht wird, Journal-Einträge zu identifizieren, die nicht in der richtigen Reihenfolge sind, wie es beispielsweise vorkommt, wenn die Maschine mit der falschen Systemzeit gebootet wird.

Hinzugefügt in Version 187.

--list-catalog [128-Bit-ID...]

Listet den Inhalt des Nachrichten-Katalogs als Tabelle von Nachrichten-IDs zusammen mit ihren kurzen Beschreibungszeichenfolgen auf.

Wenn bestimmte 128-Bit-IDs angegeben werden, werden nur diese Einträge angezeigt.

Hinzugefügt in Version 196.

--dump-catalog [128-Bit-ID...]

Zeigt den Inhalt des Nachrichten-Katalogs an, wobei die Einträge durch eine Zeile getrennt sind, die aus zwei Bindestrichen und der ID besteht (das Format ist das gleiche wie bei .catalog-Dateien).

Wenn bestimmte 128-Bit-IDs angegeben werden, werden nur diese Einträge angezeigt.

Hinzugefügt in Version 199.

--update-catalog

Aktualisiert den Index des Nachrichten-Katalogs. Dieser Befehl muss jedes Mal ausgeführt werden, wenn neue Katalogdateien installiert, entfernt oder aktualisiert werden, um den binären Katalogindex neu aufzubauen.

Hinzugefügt in Version 196.

--setup-keys

Anstatt den Inhalt des Journals anzuzeigen, wird ein neues Schlüsselpaar für die Forward Secure Sealing (FSS) generiert. Dadurch wird ein Verschlüsselungsschlüssel und ein Verifizierungsschlüssel generiert. Der Verschlüsselungsschlüssel wird im Journal-Datenverzeichnis gespeichert und sollte auf dem Host verbleiben. Der Verifizierungsschlüssel sollte extern gespeichert werden. Informationen zur Forward Secure Sealing finden Sie in der Option Seal= in journald.conf(5) sowie in einem Link zu einem von Experten begutachteten wissenschaftlichen Artikel, der die zugrunde liegende kryptografische Theorie beschreibt.

Hinzugefügt in Version 189.

-h, --help

Gibt einen kurzen Hilfetext aus und beendet das Programm.

--version

Gibt eine kurze Versionszeichenfolge aus und beendet das Programm.

EXIT STATUS

Bei Erfolg wird 0 zurückgegeben; andernfalls wird ein Fehlercode ungleich Null zurückgegeben.

UMWELT

$SYSTEMD_LOG_LEVEL

Das maximale Protokollierungsniveau der ausgegebenen Nachrichten (Nachrichten mit einem höheren Protokollierungsniveau, d. h. weniger wichtige, werden unterdrückt). Nimmt eine durch Kommas getrennte Liste von Werten entgegen. Ein Wert kann entweder einer der folgenden sein (in absteigender Reihenfolge der Wichtigkeit): emerg, alert, crit, err, warning, notice, info, debug oder eine ganze Zahl im Bereich 0...7. Weitere Informationen finden Sie in syslog(3). Jeder Wert kann optional mit einem der folgenden Präfixe versehen werden: console, syslog, kmsg oder journal, gefolgt von einem Doppelpunkt, um das maximale Protokollierungsniveau für das jeweilige Protokollierungsziel festzulegen (z. B. legt SYSTEMD_LOG_LEVEL=debug,console:info fest, dass die Protokollierung auf dem Debug-Level erfolgt, mit Ausnahme der Protokollierung in der Konsole, die auf dem Info-Level erfolgen sollte). Beachten Sie, dass das globale maximale Protokollierungsniveau Vorrang vor allen Protokollierungsniveaus pro Ziel hat.


$SYSTEMD_LOG_COLOR
Ein boolescher Wert. Wenn auf „true“ gesetzt, werden die an das Terminal geschriebenen Meldungen entsprechend ihrer Priorität farblich hervorgehoben.

Diese Einstellung ist nur dann nützlich, wenn Meldungen direkt in das Terminal geschrieben werden, da
journalctl(1) und andere Tools, die Protokolle anzeigen, Meldungen ohnehin basierend auf der Protokollebene farblich hervorheben.

$SYSTEMD_LOG_TIME
Ein boolescher Wert. Wenn auf „true“ gesetzt, werden Konsolenprotokollmeldungen mit einem Zeitstempel versehen.

Diese Einstellung ist nur dann nützlich, wenn Meldungen direkt in ein Terminal oder eine Datei geschrieben werden, da
journalctl(1) und andere Tools, die Protokolle anzeigen, Zeitstempel basierend auf den
Eintragsmetadaten anhängen.

$SYSTEMD_LOG_LOCATION
Ein boolescher Wert. Wenn auf „true“ gesetzt, werden Meldungen mit dem Dateinamen und der Zeilennummer im Quellcode versehen, aus dem die Meldung stammt.

Beachten Sie, dass die Protokollposition häufig als Metadaten an die Protokolleinträge angehängt wird. Das direkte Einfügen in den Meldungstext kann jedoch beim Debuggen von Programmen dennoch nützlich sein.

$SYSTEMD_LOG_TID
Ein boolescher Wert. Wenn auf „true“ gesetzt, werden Meldungen mit der aktuellen numerischen Thread-ID (TID) versehen.

Beachten Sie, dass diese Information ohnehin als Metadaten an die Protokolleinträge angehängt wird. Das direkte Einfügen in den Meldungstext kann jedoch beim Debuggen von Programmen dennoch nützlich sein.

$SYSTEMD_LOG_TARGET
Das Ziel für Protokollmeldungen. Eines von: console (in das verbundene Terminal protokollieren), console-prefixed (in das verbundene Terminal protokollieren, aber mit Präfixen, die das Protokollniveau und die „Facility“ kodieren, siehe syslog(3)), kmsg (in den Kernel-Ringpuffer protokollieren), journal (in das Journal protokollieren), journal-or-kmsg (wenn verfügbar in das Journal protokollieren, andernfalls in kmsg), auto (das geeignete Protokollziel automatisch bestimmen, Standardwert), null (Protokollausgabe deaktivieren).

$SYSTEMD_LOG_RATELIMIT_KMSG
Ob die Ratenbegrenzung für kmsg aktiviert werden soll oder nicht. Nimmt einen booleschen Wert an. Standardwert ist „true“. Wenn deaktiviert, wird systemd keine Meldungen, die an kmsg geschrieben werden, ratenbegrenzen.

$SYSTEMD_PAGER, $PAGER
Paging-Programm, das verwendet werden soll, wenn --no-pager nicht angegeben ist. $SYSTEMD_PAGER wird verwendet, wenn es gesetzt ist; andernfalls wird $PAGER verwendet. Wenn weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe bekannter Paging-Implementierungen in der Reihenfolge ausprobiert, einschließlich [less]({filename}../../less)(1) und more(1), bis eine gefunden wird. Wenn keine Paging-Implementierung gefunden wird, wird kein Paging-Programm aufgerufen. Das Setzen dieser Umgebungsvariablen auf einen leeren String oder den Wert „cat“ entspricht dem Übergeben von --no-pager.

Hinweis: Wenn $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur verwendet werden, um das Paging-Programm zu deaktivieren (mit „cat“ oder „“), und werden andernfalls ignoriert.

$SYSTEMD_LESS
Überschreibt die an less übergebenen Optionen (Standardwert: „FRSXMK“).

Benutzer möchten möglicherweise zwei Optionen insbesondere ändern:

K
Diese Option weist das Paging-Programm an, beim Drücken von Strg+C sofort zu beenden. Um zu ermöglichen, dass less Strg+C selbst verarbeitet, um zum Paging-Befehl zurückzukehren, setzen Sie diese Option zurück.

Wenn der Wert von $SYSTEMD_LESS „K“ nicht enthält und das aufgerufene Paging-Programm less ist, wird Strg+C vom ausführbaren Programm ignoriert und muss vom Paging-Programm verarbeitet werden.

X

Diese Option weist den Pager an, keine Terminalinitialisierungs- und -deinitialisierungszeichenketten an das Terminal zu senden. Standardmäßig ist diese Option aktiviert, damit die Ausgabe von Befehlen auch nach dem Beenden des Pagers im Terminal sichtbar bleibt. Dies verhindert jedoch, dass einige Pager-Funktionen funktionieren, insbesondere kann die paginierte Ausgabe nicht mit der Maus durchsucht werden.

Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die Aufrufe von less durch Systemd-Tools hat.

Weitere Informationen finden Sie unter less(1).

$SYSTEMD_LESSCHARSET

Überschreibt die an less übergebene Zeichenkodierung (standardmäßig „utf-8“, wenn das aufrufende Terminal als UTF-8-kompatibel erkannt wird).

Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Aufrufe von less durch Systemd-Tools hat.

$SYSTEMD_PAGERSECURE

Häufige Pager-Befehle wie less(1) unterstützen neben dem „Paginieren“, d. h. dem Durchblättern der Ausgabe, auch das Öffnen oder Schreiben anderer Dateien und das Ausführen beliebiger Shell-Befehle. Wenn Befehle mit erhöhten Rechten aufgerufen werden, z. B. unter sudo(8) oder pkexec(1), wird der Pager zu einer Sicherheitsgrenze. Es muss darauf geachtet werden, dass nur Programme mit streng begrenzter Funktionalität als Pager verwendet werden und dass unbeabsichtigte interaktive Funktionen wie das Öffnen oder Erstellen neuer Dateien oder das Starten von Unterprozessen nicht zulässig sind. Der „sichere Modus“ für den Pager kann wie unten beschrieben aktiviert werden, falls der Pager dies unterstützt (die meisten Pager sind nicht so geschrieben, dass dies berücksichtigt wird). Es wird empfohlen, entweder den „sicheren Modus“ explizit zu aktivieren oder den Pager mithilfe von --no-pager oder PAGER=cat vollständig zu deaktivieren, wenn nicht vertrauenswürdige Benutzer erhöhte Befehle ausführen dürfen.

Diese Option nimmt ein boolesches Argument entgegen. Wenn sie auf true gesetzt ist, wird der „sichere Modus“ des Pagers aktiviert. Im „sicheren Modus“ wird die Umgebungsvariable LESSSECURE=1 gesetzt, wenn der Pager aufgerufen wird, wodurch der Pager angewiesen wird, Befehle zu deaktivieren, die neue Dateien öffnen oder erstellen oder neue Unterprozesse starten. Derzeit ist nur less(1) bekannt, das diese Variable versteht und den „sicheren Modus“ implementiert.

Wenn sie auf false gesetzt ist, werden keine Einschränkungen für den Pager vorgenommen. Das Setzen von SYSTEMD_PAGERSECURE=0 oder das Nicht-Entfernen aus der geerbten Umgebung kann es dem Benutzer ermöglichen, beliebige Befehle auszuführen.

Wenn $SYSTEMD_PAGERSECURE nicht gesetzt ist, versuchen Systemd-Tools, automatisch zu ermitteln, ob der „sichere Modus“ aktiviert werden soll und ob der Pager ihn unterstützt. Der „sichere Modus“ wird aktiviert, wenn die effektive UID nicht mit dem Besitzer der Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn sie unter sudo(8) oder ähnlichen Tools ausgeführt wird ($SUDO_UID ist gesetzt [8]). In diesen Fällen wird SYSTEMD_PAGERSECURE=1 gesetzt, und Pager, die den „sicheren Modus“ nicht implementieren, werden nicht verwendet. Beachten Sie, dass diese automatische Erkennung nur die gängigsten Mechanismen zur Erhöhung der Berechtigungen abdeckt und als Komfortfunktion gedacht ist. Es wird empfohlen, $SYSTEMD_PAGERSECURE explizit zu setzen oder den Pager zu deaktivieren.


Beachten Sie, dass, wenn die Umgebungsvariablen $SYSTEMD_PAGER oder $PAGER beachtet werden sollen, um den Pager zu aktivieren, auch die Variable $SYSTEMD_PAGERSECURE gesetzt sein muss.

`$SYSTEMD_COLORS`

Akzeptiert ein boolesches Argument. Wenn true, verwendet systemd und zugehörige Dienstprogramme Farben in ihrer Ausgabe. Andernfalls ist die Ausgabe monochrom. Darüber hinaus kann die Variable einen der folgenden speziellen Werte annehmen: "16", "256", um die Verwendung von Farben auf die Basisfarben 16 oder 256 von ANSI zu beschränken. Dies kann angegeben werden, um die automatische Entscheidung basierend auf $TERM und der Verbindung zum Terminal zu überschreiben.

`$SYSTEMD_URLIFY`

Der Wert muss ein boolescher Wert sein. Steuert, ob in der Ausgabe klickbare Links für Terminalemulatoren generiert werden sollen, die dies unterstützen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, zu überschreiben.

BEISPIELE

Ohne Argumente werden alle gesammelten Protokolle ungefiltert angezeigt:

journalctl

Mit einem angegebenen Filter werden alle Einträge angezeigt, deren Feld mit dem Ausdruck übereinstimmt:

journalctl _SYSTEMD_UNIT=avahi-daemon.service
journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope

Wenn zwei verschiedene Felder abgeglichen werden, werden nur die Einträge angezeigt, die gleichzeitig mit beiden Ausdrücken übereinstimmen:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

Wenn sich zwei Übereinstimmungen auf dasselbe Feld beziehen, werden alle Einträge angezeigt, die mit einem der Ausdrücke übereinstimmen:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service

Wenn der Trenner + verwendet wird, können zwei Ausdrücke in einer logischen ODER-Verknüpfung kombiniert werden. Folgendes zeigt alle Nachrichten vom Avahi-Dienstprozess mit der PID 28097 sowie alle Nachrichten vom D-Bus-Dienst (von einem seiner Prozesse):

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service

Um alle von einer Einheit emittierten und über die Einheit verfügbaren Felder anzuzeigen, sollte die Option -u/--unit= verwendet werden. journalctl -u name wird zu einem komplexen Filter, ähnlich wie:

_SYSTEMD_UNIT=name.service
+ UNIT=name.service _PID=1
+ OBJECT_SYSTEMD_UNIT=name.service _UID=0
+ COREDUMP_UNIT=name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1

(siehe systemd.journal-fields(7) für eine Erklärung dieser Muster).

Alle Protokolle, die von der ausführbaren Datei D-Bus generiert wurden, anzeigen:

journalctl /usr/bin/dbus-daemon

Alle Kernelprotokolle vom vorherigen Start anzeigen:

journalctl -k -b -1

Eine Live-Protokollanzeige von einem Systemdienst apache.service anzeigen:

journalctl -f -u apache

SIEHE AUCH

systemd(1), systemd-cat(1), systemd-journald.service(8), systemctl(1), coredumpctl(1), systemd.journal-fields(7), journald.conf(5), systemd.time(7), systemd-journal-remote.service(8), systemd-journal-upload.service(8)

HINWEISE

UAPI.2 Discoverable Partitions Specification
https://uapi-group.org/specifications/specs/discoverable_partitions_specification

RFC 3339
https://tools.ietf.org/html/rfc3339

    Journal-Exportformat
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format

    Journal-JSON-Format
https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format

    Server-Sent Events
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

JavaScript Object Notation (JSON) Text Sequences
https://tools.ietf.org/html/rfc7464

    Journal-Nachrichten-Kataloge
https://systemd.io/CATALOG

    Es wird empfohlen, dass andere Tools `$SUDO_UID` entsprechend setzen und überprüfen und es als
gemeinsame Schnittstelle behandeln.