X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd-analyze.xml;h=073e807b416097b2adc4d005530dc14086d4187c;hb=2e8574290d36801acffaf51a9a00a77b972a255b;hp=7556ef7bce0e1e887e85b6fed9406a2764120fdc;hpb=dfdebb1b925332352966804303b2516a6506a429;p=elogind.git
diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml
index 7556ef7bc..073e807b4 100644
--- a/man/systemd-analyze.xml
+++ b/man/systemd-analyze.xml
@@ -95,6 +95,12 @@
set-log-levelLEVEL
+
+ systemd-analyze
+ OPTIONS
+ verify
+ FILES
+
@@ -103,7 +109,8 @@
systemd-analyze may be used
to determine system boot-up performance statistics and
retrieve other state and tracing information from the
- system and service manager.
+ system and service manager, and to verify the
+ correctness of unit files.
systemd-analyze time
prints the time spent in the kernel before
@@ -171,6 +178,17 @@
described in
systemd1).
+ systemd-analyze verify will
+ load unit files and print warnings if any errors are
+ detected. Files specified on the command line will be
+ loaded, but also any other units referenced by
+ them. This command works by prepending the directories
+ for all command line arguments at the beginning of the
+ unit load path, which means that all units files found
+ in those directories will be used in preference to the
+ unit files found in the standard locations, even if
+ not listed explicitly.
+
If no command is passed, systemd-analyze
time is implied.
@@ -185,39 +203,16 @@
- Shows performance data
- of user sessions instead of the system
- manager.
+ Operates on the user
+ systemd instance.
- Shows performance data
- of the system manager. This is the
- implied default.
-
-
-
-
-
-
- Execute the operation
- remotely. Specify a hostname, or
- username and hostname separated by
- @, to connect
- to. This will use SSH to talk to the
- remote machine manager
- instance.
-
-
-
-
-
-
- Execute the operation on a
- local container. Specify a container
- name to connect to.
+ Operates on the system
+ systemd instance. This is the implied
+ default.
@@ -279,6 +274,17 @@
e.g. "50ms".
+
+
+
+ Do not invoke man to verify the existence
+ of man pages listen in Documentation=.
+
+
+
+
+
+
@@ -294,20 +300,87 @@
- Examples
+ Examples for dot
- This plots all dependencies of any unit whose
- name starts with avahi-daemon.:
+
+ Plots all dependencies of any unit whose
+ name starts with avahi-daemon
- $ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
-$ eog avahi.svg
+ $ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg
+ $ eog avahi.svg
+
- This plots the dependencies between all known target units:
+
+ Plots the dependencies between all known target units
- systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg
+ systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg
$ eog targets.svg
+
+
-
+
+ Examples for verify
+
+ The following errors are currently detected:
+
+ unknown sections and
+ directives,
+
+ missing dependencies which are
+ required to start the given unit,
+
+
+ man pages listed in
+ Documentation= which are
+ not found in the system,
+
+ commands listed in
+ ExecStart= and similar
+ which are not found in the system or not
+ executable.
+
+
+
+ Misspelt directives
+
+ $ cat ./user.slice
+[Unit]
+WhatIsThis=11
+Documentation=man:nosuchfile(1)
+Requires=different.service
+
+[Service]
+Desription=x
+
+$ systemd-verify ./user.slice
+[./user.slice:9] Unknown lvalue 'WhatIsThis' in section 'Unit'
+[./user.slice:13] Unknown section 'Service'. 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
+
+
+
+
+ Missing service units
+
+ $ tail ./a.socket ./b.socket
+==> ./a.socket <==
+[Socket]
+ListenStream=100
+
+==> ./b.socket <==
+[Socket]
+ListenStream=100
+Accept=yes
+
+$ systemd-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.
+
+