summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-07-21 21:14:08 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-07-21 22:33:51 -0400
commit142c4ecaa9840714d49b40b1de407748b52f21d7 (patch)
tree866e4b790c2849ca44a9c0bf8925772d839683e0 /man
parent2c12a402cb1e8277c271ced8dc9c06d20b8f6017 (diff)
man: merge systemd-verify with systemd-analyze
Diffstat (limited to 'man')
-rw-r--r--man/systemd-analyze.xml122
-rw-r--r--man/systemd-verify.xml174
2 files changed, 107 insertions, 189 deletions
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 @@
<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 &lt;==
+[Socket]
+ListenStream=100
+
+==> ./b.socket &lt;==
+[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 128032e7c..000000000
--- 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 &lt;==
-[Socket]
-ListenStream=100
-
-==> ./b.socket &lt;==
-[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>