.\" -*- coding: UTF-8 -*- '\" t .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SYSTEMD\-ANALYZE 1 "" "systemd 239" systemd\-analyze .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH BEZEICHNUNG systemd\-analyze \- Systemverwalter analysieren und auf Fehler überprüfen .SH ÜBERSICHT .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] [Zeit] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] blame .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] critical\-chain [\fIUNIT\fP…] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] plot [>\ Datei\&.svg] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] dot [\fIPATTERN\fP…] [>\ Datei\&.dot] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] dump .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] cat\-config \fINAME\fP|\fIPFAD\fP… .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] unit\-paths .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] log\-level [\fISTUFE\fP] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] log\-target [\fIZIEL\fP] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] syscall\-filter [\fIGRUPPE\fP…] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] verify [\fIDATEIEN\fP…] .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] calendar \fISPEZ\fP… .HP \w'\fBsystemd\-analyze\fR\ 'u \fBsystemd\-analyze\fP [OPTIONEN…] service\-watchdogs [\fILOGISCH\fP] .SH BESCHREIBUNG .PP \fBsystemd\-analyze\fP kann zur Bestimmung der Systemstartleistungsstatistik benutzt werden\&. Es kann Status\- und Nachverfolgungsinformationen aus dem System\- und Diensteverwalter abrufen und die Korrektheit von Unit\-Dateien überprüfen\&. Es wird auch dazu verwandt, auf besondere Funktionen zuzugreifen, die für fortgeschrittene Systemverwalterfehlersuche nützlich sind\&. .PP \fBsystemd\-analyze time\fP gibt die im Kernel verbrachte Zeit, bevor der Anwendungsbereich erreicht wurde, die Zeit, die in der anfänglichen RAM\-Platte (Initrd), bevor die normale Systemanwendungsebene erreicht wurde und die Zeit, die die normale Systemanwendungsebene zur Initialisierung benötigte, aus\&. Beachten Sie, dass diese Messungen einfach die Zeit zu dem Punkt messen, an dem alle Systemdienste gestartet wurden, aber nicht notwendigerweise bis sie ihre Initialisierung abgeschlossen hatten oder die Platte im Leerlauf war\&. .PP \fBsystemd\-analyze blame\fP gibt eine Liste aller laufenden Units, sortiert nach der Initialisierungszeitdauer, aus\&. Diese Informationen können zur Optimierung der Systemstartzeit verwandt werden\&. Beachten Sie, dass die Ausgabe irreführend sein kann, da die Initialisierung eines Dienstes einfach deshalb langsam sein kann, da sie auf den Abschluss der Initialisierung eines anderen Dienstes wartet\&. Beachten Sie auch: \fBsystemd\-analyze blame\fP zeigt keine Ergebnisse für Dienste mit \fIType=simple\fP an, da Systemd solche Dienste als sofort gestartet betrachtet und daher keine Messungen der Initialisierungsverzögerungen erfolgen können\&. .PP \fBsystemd\-analyze critical\-chain [\fP\fIUNIT…\fP\fB]\fP gibt einen Baum der zeitkritischen Unit\-Kette (für jede der festgelegten \fIUNIT\fPs oder andernfalls für das Standardziel) aus\&. Die Zeit, nach der die Unit aktiv oder gestartet ist, wird nach dem Zeichen »@« ausgegeben\&. Die Zeit, die die Unit zum Starten benötigt, wird nach dem Zeichen »+« ausgegeben\&. Beachten Sie, dass die Ausgabe irreführend sein kann, da die Initialisierung eines Dienstes abhängig von der Aktivierung eines Sockets sein kann und da die Units parallel ausgeführt werden\&. .PP \fBsystemd\-analyze plot\fP gibt eine SVG\-Graphik aus, die detailliert, welche Systemdienste zu welcher Zeit gestartet wurden und hervorhebt, welche Zeit sie zur Initialisierung verbraucht haben\&. .PP \fBsystemd\-analyze dot\fP erstellt eine textuelle Abhängigkeitsgraphbeschreibung im Dot\-Format zur weiteren Verarbeitung mit dem GraphViz\-Werkzeug \fBdot\fP(1)\&. Verwenden Sie eine Befehlszeile der Art \fBsystemd\-analyze dot | dot \-Tsvg > systemd\&.svg\fP, um einen graphischen Abhängigkeitsbaum zu erstellen\&. Falls weder \fB\-\-order\fP noch \fB\-\-require\fP angegeben sind, wird der erstellte Graph sowohl Ordnungs\- als auch Anforderungsabhängigkeiten darstellen\&. Optional können am Ende Muster\-Festlegungen im Glob\-Stil (z\&.B\&. *\&.target) angegeben werden\&. Eine Unit\-Abhängigkeit ist im Graph enthalten, falls eines dieser Muster entweder auf den Quell\- oder den Zielknoten passt\&. .PP \fBsystemd\-analyze dump\fP gibt eine (normalerweise sehr lange) menschenlesbare Serialisierung des kompletten Serverzustandes aus\&. Sein Format unterliegt ohne Ankündigungen Änderungen und sollte nicht durch Anwendungen ausgewertet werden\&. .PP \fBsystemd\-analyze cat\-config\fP ist ähnlich zu \fBsystemctl cat\fP, agiert aber auf Konfigurationsdateien\&. Es kopiert den Inhalt einer Konfigurationsdatei und aller Ergänzungsdateien in die Standardausgabe; dabei berücksichtigt es die normale Gruppe an Systemd\-Verzeichnissen und Regeln bezüglich des Vorrangs\&. Jedes Argument muss entweder ein absoluter Pfad einschließlich des Präfixes (wie /etc/systemd/logind\&.conf oder /usr/lib/systemd/logind\&.conf) oder ein Name relativ zu dem Präfix (wie systemd/logind\&.conf) sein\&. .PP \fBBeispiel\ \&1.\ \&Anzeige der Logind\-Konfiguration\fP .sp .if n \{\ .RS 4 .\} .nf $ systemd\-analyze cat\-config systemd/logind\&.conf # /etc/systemd/logind\&.conf \&.\&.\&. [Login] NAutoVTs=8 \&.\&.\&. # /usr/lib/systemd/logind\&.conf\&.d/20\-test\&.conf … und einiges aus einem anderen Paket, das außer Kraft setzt # /etc/systemd/logind\&.conf\&.d/50\-override\&.conf … und was vom Administrator, das außer Kraft setzt .fi .if n \{\ .RE .\} .PP \fBsystemd\-analyze unit\-paths\fP gibt eine Liste aller Verzeichnisse aus, aus denen Unit\-Dateien, \&.d overrides\- und \&.wants\-, \&.requires\-Symlinks geladen werden können\&. Kombinieren Sie dies mit \fB\-\-user\fP, um die Liste für die Benutzerverwalterinstanz abzufragen und \fB\-\-global\fP für die globale Konfiguration der Benutzerverwalterinstanzen\&. Beachten Sie, dass dieses Verb die Liste ausgibt, die in \fBsystemd\-analyze\fP selbst einkompiliert wurde und keine Kommunikation mit dem laufenden Verwalter stattfindet\&. Verwenden Sie .sp .if n \{\ .RS 4 .\} .nf systemctl [\-\-user] [\-\-global] show \-p Unit\-Pfad \-\-value .fi .if n \{\ .RE .\} .sp um die tatsächliche Liste, die der Verwalter benutzt, abzufragen, wobei alle leeren Verzeichnisse ausgelassen werden\&. .PP \fBsystemd\-analyze log\-level\fP gibt die aktuelle Protokollierstufe des \fBsystemd\fP\-Daemons aus\&. Falls ein optionales Argument \fISTUFE\fP bereitgestellt wird, dann wird die aktuelle Protokollierstufe des \fBsystemd\fP\-Daemons auf \fISTUFE\fP geändert (akzeptiert die gleichen Werte wie das in \fBsystemd\fP(1) beschriebene \fB\-\-log\-level=\fP)\&. .PP \fBsystemd\-analyze log\-target\fP gibt das aktuelle Protokollierziel des Daemons \fBsystemd\fP aus\&. Falls das optionale Argument \fIZIEL\fP bereitgestellt wird, dann ändert der Befehl das aktuelle Protokollierziel des Daemons \fBsystemd\fP auf \fIZIEL\fP (akzeptiert die gleichen Werte wie das in \fBsystemd\fP(1) beschriebene \fB\-\-log\-target=\fP)\&. .PP \fBsystemd\-analyze syscall\-filter \fP\fB[\fP\fIGRUPPE\fP…] wird die in der festgelegten \fIGRUPPE\fP enthaltenen Systemaufrufe filtern oder alle bekannten Gruppen erlauben, falls keine Gruppen festgelegt sind\&. Das Argument \fIGRUPPE\fP muss das Präfix »@« enthalten\&. .PP \fBsystemd\-analyze verify\fP wird Unit\-Dateien laden und Warnungen ausgeben, falls irgendwelche Fehler erkannt werden\&. Auf der Befehlszeile festgelegte Dateien werden geladen, aber auch alle von diesen referenzierte Dateien\&. Der komplette Unit\-Suchpfad wird durch Kombination der Verzeichnisse für alle Befehlzeilenargumente zusammengestellt und die normalen Unit\-Ladepfade (Variable \fI$SYSTEMD_UNIT_PATH\fP) werden unterstützt und können zum Ersetzen oder Erweitern der einkompilierten Gruppe von Unit\-Ladepfaden verwandt werden; siehe \fBsystemd.unit\fP(5))\&. Alle Unit\-Dateien, die in den in der Befehlszeile enthaltenen Verzeichnissen vorhanden sind, werden gegenüber den in anderen Pfaden vorgezogen\&. .PP \fBsystemd\-analyze calendar\fP wird wiederholende Kalenderzeitereignisse auswerten und normieren und berechnen, wann sie das nächste Mal ablaufen\&. Dies akzeptiert die gleiche Eingabe wie die Einstellung \fIOnCalendar=\fP in \fBsystemd.timer\fP(5) und folgt der in \fBsystemd.time\fP(7) beschriebenen Syntax\&. .PP \fBsystemd\-analyze service\-watchdogs\fP gibt den aktuellen Zustand des Dienste\-Laufzeit\-Watchdogs des Daemons \fBsystemd\fP aus\&. Falls ein optionales logisches Argument bereitgestellt wird, dann werden die Dienste\-Laufzeit\-Watchdogs (\fBWatchdogSec=\fP) und Notfallaktionen (z\&.B\&. \fBOnFailure=\fP oder \fBStartLimitAction=\fP) global aktiviert oder deaktiviert; siehe \fBsystemd.service\fP(5)\&. Der Hardware\-Watchdog ist von dieser Einstellung nicht betroffen\&. .PP Falls kein Befehl übergeben wird, wird \fBsystemd\-analyze time\fP impliziert\&. .SH OPTIONEN .PP Die folgenden Optionen werden verstanden: .PP \fB\-\-system\fP .RS 4 Agiert auf der System\-Systemd\-Instanz\&. Dies ist die implizierte Vorgabe\&. .RE .PP \fB\-\-user\fP .RS 4 Agiert auf der Benutzer\-Systemd\-Instanz\&. .RE .PP \fB\-\-global\fP .RS 4 Agiert auf der systemweiten Konfiguration für Benutzer\-Systemd\-Instanzen\&. .RE .PP \fB\-\-order\fP, \fB\-\-require\fP .RS 4 Wählt bei der Verwendung mit dem Befehl \fBdot\fP (siehe oben) die im Abhängigkeitsgraph zu zeigenden Abhängigkeiten aus\&. Falls \fB\-\-order\fP übergeben wird, werden nur Abhängigkeiten vom Typ \fIAfter=\fP oder \fIBefore=\fP gezeigt\&. Falls \fB\-\-require\fP übergeben wird, werden nur Abhängigkeiten vom Typ \fIRequires=\fP, \fIRequisite=\fP, \fIWants=\fP und \fIConflicts=\fP gezeigt\&. Falls keines davon übergeben wird, werden die Abhängigkeiten aller dieser Typen gezeigt\&. .RE .PP \fB\-\-from\-pattern=\fP, \fB\-\-to\-pattern=\fP .RS 4 Wählt bei der Verwendung mit dem Befehl \fBdot\fP (siehe oben) aus, welche Beziehungen im Abhängigkeitsgraph gezeigt werden\&. Beide Optionen benötigen ein \fBglob\fP(7)\-Muster als Argument, das mit den Knoten auf der rechten bzw\&. linken Seite einer Beziehung übereinstimmen muss\&. .sp Jeder davon kann mehr als einmal verwandt werden, dann müssen die Unit\-Namen auf jeden der Werte passen\&. Falls Tests für beide Seiten der Relation vorhanden sind, muss eine Relation beide Tests bestehen, um angezeigt zu werden\&. Wenn Muster zudem als positionsabhängige Argumente festgelegt werden, müssen sie auf mindestens einer Seite der Relation passen\&. Mit anderen Worten, Muster, die mit diesen zwei Optionen festgelegt werden, verkürzen die Liste der Kanten, auf die die positionsabhängigen Argumente passen, falls welche angegeben werden, und zeigen die komplette Liste der Kanten andernfalls\&. .RE .PP \fB\-\-fuzz=\fP\fIZeitspanne\fP .RS 4 Zeigt bei der Verwendung mit dem Befehl \fBcritical\-chain\fP (siehe oben) auch Units, die sich eine \fIZeitspanne\fP früher beendeten, als die letzte Unit auf der gleichen Stufe\&. Die Einheit von \fIZeitspanne\fP ist Sekunden, außer es wird eine andere Einheit festgelegt, z\&.B\&. »50ms«\&. .RE .PP \fB\-\-man=no\fP .RS 4 Ruft \fBman\fP(1) nicht auf, um die Existenz von in \fIDocumentation=\fP aufgeführten Handbuchseiten zu überprüfen\&. .RE .PP \fB\-\-generators\fP .RS 4 Ruft Unit\-Generatoren auf, siehe \fBsystemd.generator\fP(7)\&. Einige Generatoren benötigen Root\-Rechte\&. Beim Betrieb mit aktivierten Generatoren kommt es als normaler Benutzer im Allgemeinen zu einigen Warnmeldungen\&. .RE .PP \fB\-\-root=\fP\fIPFAD\fP .RS 4 Zeigt mit \fBcat\-files\fP Konfigurationsdateien unterhalb des festgelegten Wurzelpfades \fIPFAD\fP an\&. .RE .PP \fB\-H\fP, \fB\-\-host=\fP .RS 4 Führt 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 Container\-Name angehängt werden, getrennt durch »:«, 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 dürfen mit \fBmachinectl \-H \fP\fIRECHNER\fP aufgezählt werden\&. .RE .PP \fB\-M\fP, \fB\-\-machine=\fP .RS 4 Führt die Aktion in einem lokalen Container aus\&. Geben Sie den Namen des Containers an, zu dem verbunden werden soll\&. .RE .PP \fB\-h\fP, \fB\-\-help\fP .RS 4 Zeigt einen kurzen Hilfetext an und beendet das Programm\&. .RE .PP \fB\-\-version\fP .RS 4 Zeigt eine kurze Versionszeichenkette an und beendet das Programm\&. .RE .PP \fB\-\-no\-pager\fP .RS 4 Die Ausgabe nicht an ein Textanzeigeprogramm weiterleiten\&. .RE .SH RÜCKGABEWERT .PP Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null\&. .SH "BEISPIELE FÜR DOT" .PP \fBBeispiel\ \&2.\ \&Zeichnet alle Abhängigkeiten von jeder Unit, deren Name mit »avahi\-daemon« beginnt\fP .sp .if n \{\ .RS 4 .\} .nf $ systemd\-analyze dot \*(Aqavahi\-daemon\&.*\*(Aq | dot \-Tsvg > avahi\&.svg $ eog avahi\&.svg .fi .if n \{\ .RE .\} .PP \fBBeispiel\ \&3.\ \&Zeichnet alle Abhängigkeiten zwischen allen bekannten Ziel\-Units\fP .sp .if n \{\ .RS 4 .\} .nf $ systemd\-analyze dot \-\-to\-pattern=\*(Aq*\&.target\*(Aq \-\-from\-pattern=\*(Aq*\&.target\*(Aq | dot \-Tsvg > Ziele\&.svg $ eog Ziele\&.svg .fi .if n \{\ .RE .\} .SH "BEISPIELE FÜR VERIFY" .PP Derzeit werden die folgenden Fehler erkannt: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} unbekannte Abschnitte und Anweisungen, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} fehlende Abhängigkeiten, die zum Starten der übergegebenen Unit notwendig sind, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} in \fIDocumentation=\fP aufgeführte Handbuchseiten, die im System nicht gefunden werden, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} in \fIExecStart=\fP und ähnlichen aufgeführte Befehle, die nicht im System gefunden wurden oder nicht ausführbar sind\&. .RE .PP \fBBeispiel\ \&4.\ \&Falschgeschriebene Anweisung\fP .sp .if n \{\ .RS 4 .\} .nf $ cat \&./user\&.slice [Unit] WhatIsThis=11 Documentation=man:nosuchfile(1) Requires=different\&.service [Service] Description=x $ systemd\-analyze verify \&./user\&.slice [\&./user\&.slice:9] Unknown lvalue \*(AqWhatIsThis\*(Aq in section \*(AqUnit\*(Aq [\&./user\&.slice:13] Unknown section \*(AqService\*(Aq\&. Ignoring\&. Error: org\&.freedesktop\&.systemd1\&.LoadFailed: Unit different\&.service failed to load: No such file or directory\&. Failed to create user\&.slice/start: Invalid argument user\&.slice: man nosuchfile(1) command failed with code 16 .fi .if n \{\ .RE .\} .PP \fBBeispiel\ \&5.\ \&Fehlende Dienste\-Units\fP .sp .if n \{\ .RS 4 .\} .nf $ tail \&./a\&.socket \&./b\&.socket ==> \&./a\&.socket <== [Socket] ListenStream=100 ==> \&./b\&.socket <== [Socket] ListenStream=100 Accept=yes $ systemd\-analyze verify \&./a\&.socket \&./b\&.socket Service a\&.service not loaded, a\&.socket cannot be started\&. Service b@0\&.service not loaded, b\&.socket cannot be started\&. .fi .if n \{\ .RE .\} .SH UMGEBUNGSVARIABLEN .PP \fI$SYSTEMD_PAGER\fP .RS 4 Zu verwendendes Textanzeigeprogramm, wenn \fB\-\-no\-pager\fP nicht angegeben ist, setzt \fI$PAGER\fP außer Kraft\&. Falls weder \fI$SYSTEMD_PAGER\fP noch \fI$PAGER\fP gesetzt sind, wird eine Reihe wohlbekannter Textanzeigeprogrammimplementierungen der Reihe nach ausprobiert, einschließlich \fBless\fP(1) und \fBmore\fP(1), bis eines gefunden wird\&. Falls keine Textanzeigeprogrammimplementierung gefunden wird, wird keines aufgerufen\&. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe von \fB\-\-no\-pager\fP\&. .RE .PP \fI$SYSTEMD_LESS\fP .RS 4 Setzt die an \fBless\fP übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft\&. .RE .PP \fI$SYSTEMD_LESSCHARSET\fP .RS 4 Setzt den an \fBless\fP übergebenen Zeichensatz (standardmäßig »utf\-8«, falls das aufrufende Terminal als UTF\-8\-kompatibel erkannt wurde) außer Kraft\&. .RE .SH "SIEHE AUCH" .PP \fBsystemd\fP(1), \fBsystemctl\fP(1) .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .