mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
man: merge systemd-verify with systemd-analyze
This commit is contained in:
parent
2c12a402cb
commit
142c4ecaa9
@ -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 \
|
||||
|
@ -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>
|
||||
</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
|
||||
$ 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" />
|
||||
|
@ -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>
|
Loading…
Reference in New Issue
Block a user