From 142c4ecaa9840714d49b40b1de407748b52f21d7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 21 Jul 2014 21:14:08 -0400 Subject: [PATCH] man: merge systemd-verify with systemd-analyze --- Makefile-man.am | 2 - man/systemd-analyze.xml | 122 ++++++++++++++++++++++++---- man/systemd-verify.xml | 174 ---------------------------------------- 3 files changed, 107 insertions(+), 191 deletions(-) delete mode 100644 man/systemd-verify.xml diff --git a/Makefile-man.am b/Makefile-man.am index 5cc308152..4339e5022 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -92,7 +92,6 @@ MANPAGES += \ man/systemd-udevd.service.8 \ man/systemd-update-done.service.8 \ man/systemd-update-utmp.service.8 \ - man/systemd-verify.1 \ man/systemd.1 \ man/systemd.automount.5 \ man/systemd.device.5 \ @@ -1659,7 +1658,6 @@ EXTRA_DIST += \ man/systemd-update-utmp.service.xml \ man/systemd-user-sessions.service.xml \ man/systemd-vconsole-setup.service.xml \ - man/systemd-verify.xml \ man/systemd.automount.xml \ man/systemd.device.xml \ man/systemd.directives.xml \ diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml index c7a25985c..073e807b4 100644 --- a/man/systemd-analyze.xml +++ b/man/systemd-analyze.xml @@ -95,6 +95,12 @@ set-log-level LEVEL + + 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,17 +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. + Operates on the system + systemd instance. This is the implied + default. @@ -257,6 +274,14 @@ e.g. "50ms". + + + + Do not invoke man to verify the existence + of man pages listen in Documentation=. + + + @@ -275,20 +300,87 @@ - Examples + Examples for <command>dot</command> - This plots all dependencies of any unit whose - name starts with avahi-daemon.: + + Plots all dependencies of any unit whose + name starts with <literal>avahi-daemon</literal> - $ 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 <command>verify</command> + + 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. + + diff --git a/man/systemd-verify.xml b/man/systemd-verify.xml deleted file mode 100644 index 128032e7c..000000000 --- a/man/systemd-verify.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - systemd-verify - systemd - - - - Developer - Zbigniew - Jędrzejewski-Szmek - zbyszek@in.waw.pl - - - - - - systemd-verify - 1 - - - - systemd-verify - Check unit file validity - - - - - systemd-verify - OPTIONS - FILES - - - - - Description - - systemd-verify will load unit files and - potentially 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. - This 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. - - 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. - - - - - - Options - - The following options are understood: - - - - - - Do not invoke man to verify the existence - of man pages listen in Documentation=. - - - - - - - - - - - - - Exit status - - On success, 0 is returned, a non-zero failure - code otherwise. - - - - Examples - - - Misspelt directives - - $ cat ./user.slice -[Unit] -WhatIsThis=11 -Documentation=man:systemd.nosuchfile(7) -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 systemd.nosuchfile(7) 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. - - - - - - - See Also - - systemd8, - systemctl1, - systemd.unit5, - systemd.directives7 - - - -- 2.30.2