diff options
-rw-r--r-- | Makefile-man.am | 2 | ||||
-rw-r--r-- | man/systemd-analyze.xml | 122 | ||||
-rw-r--r-- | man/systemd-verify.xml | 174 |
3 files changed, 107 insertions, 191 deletions
diff --git a/Makefile-man.am b/Makefile-man.am index 5cc3081528..4339e50225 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 c7a25985ca..073e807b41 100644 --- a/man/systemd-analyze.xml +++ b/man/systemd-analyze.xml @@ -95,6 +95,12 @@ <arg choice="plain">set-log-level</arg> <arg choice="opt"><replaceable>LEVEL</replaceable></arg> </cmdsynopsis> + <cmdsynopsis> + <command>systemd-analyze</command> + <arg choice="opt" rep="repeat">OPTIONS</arg> + <arg choice="plain">verify</arg> + <arg choice="opt" rep="repeat"><replaceable>FILES</replaceable></arg> + </cmdsynopsis> </refsynopsisdiv> <refsect1> @@ -103,7 +109,8 @@ <para><command>systemd-analyze</command> may be used to determine system boot-up performance statistics and retrieve other state and tracing information from the - system and service manager.</para> + system and service manager, and to verify the + correctness of unit files.</para> <para><command>systemd-analyze time</command> prints the time spent in the kernel before @@ -171,6 +178,17 @@ described in <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para> + <para><command>systemd-analyze verify</command> 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.</para> + <para>If no command is passed, <command>systemd-analyze time</command> is implied.</para> @@ -185,17 +203,16 @@ <varlistentry> <term><option>--user</option></term> - <listitem><para>Shows performance data - of user sessions instead of the system - manager.</para></listitem> + <listitem><para>Operates on the user + systemd instance.</para></listitem> </varlistentry> <varlistentry> <term><option>--system</option></term> - <listitem><para>Shows performance data - of the system manager. This is the - implied default.</para></listitem> + <listitem><para>Operates on the system + systemd instance. This is the implied + default.</para></listitem> </varlistentry> <varlistentry> @@ -257,6 +274,14 @@ e.g. "50ms".</para></listitem> </varlistentry> + <varlistentry> + <term><option>--no-man</option></term> + + <listitem><para>Do not invoke man to verify the existence + of man pages listen in <varname>Documentation=</varname>. + </para></listitem> + </varlistentry> + <xi:include href="user-system-options.xml" xpointer="host" /> <xi:include href="user-system-options.xml" xpointer="machine" /> @@ -275,20 +300,87 @@ </refsect1> <refsect1> - <title>Examples</title> + <title>Examples for <command>dot</command></title> - <para>This plots all dependencies of any unit whose - name starts with <literal>avahi-daemon.</literal>:</para> + <example> + <title>Plots all dependencies of any unit whose + name starts with <literal>avahi-daemon</literal></title> - <programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg -$ eog avahi.svg</programlisting> + <programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg + $ eog avahi.svg</programlisting> + </example> - <para>This plots the dependencies between all known target units:</para> + <example> + <title>Plots the dependencies between all known target units</title> - <programlisting>systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg + <programlisting>systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg $ eog targets.svg</programlisting> + </example> + </refsect1> - + <refsect1> + <title>Examples for <command>verify</command></title> + + <para>The following errors are currently detected:</para> + <itemizedlist> + <listitem><para>unknown sections and + directives, </para></listitem> + + <listitem><para>missing dependencies which are + required to start the given unit, + </para></listitem> + + <listitem><para>man pages listed in + <varname>Documentation=</varname> which are + not found in the system,</para></listitem> + + <listitem><para>commands listed in + <varname>ExecStart=</varname> and similar + which are not found in the system or not + executable.</para></listitem> + </itemizedlist> + + <example> + <title>Misspelt directives</title> + + <programlisting>$ 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 + </programlisting> + </example> + + <example> + <title>Missing service units</title> + + <programlisting>$ 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. + </programlisting> + </example> </refsect1> <xi:include href="less-variables.xml" /> diff --git a/man/systemd-verify.xml b/man/systemd-verify.xml deleted file mode 100644 index 128032e7cb..0000000000 --- a/man/systemd-verify.xml +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- -This file is part of systemd. - -Copyright 2014 Zbigniew Jędrzejewski-Szmek - -systemd is free software; you can redistribute it and/or modify it -under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -systemd is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-verify" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-verify</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-verify</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-verify</refname> - <refpurpose>Check unit file validity</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-verify</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">FILES</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-verify</filename> 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.</para> - - <para>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.</para> - - <para>The following errors are currently detected:</para> - <itemizedlist> - <listitem><para>unknown sections and directives, - </para></listitem> - - <listitem><para>missing dependencies which are required to start - the given unit,</para></listitem> - - <listitem><para>man pages listed in - <varname>Documentation=</varname> which are not found in the - system,</para></listitem> - - <listitem><para>commands listed in <varname>ExecStart=</varname> - and similar which are not found in the system or not executable. - </para></listitem> - </itemizedlist> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-man</option></term> - - <listitem><para>Do not invoke man to verify the existence - of man pages listen in <varname>Documentation=</varname>. - </para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="user" /> - <xi:include href="user-system-options.xml" xpointer="system" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Misspelt directives</title> - - <programlisting>$ 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 -</programlisting> - </example> - - <example> - <title>Missing service units</title> - - <programlisting>$ 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. -</programlisting> - </example> - - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> |