chiark / gitweb /
systemctl add command list-dependencies
[elogind.git] / man / systemctl.xml
index a9e86ce17cfaae96c446c6f7ff4bcb75e3c6a812..f22338371635d170530ba703c43f0805903401ff 100644 (file)
@@ -8,16 +8,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  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
-  General Public License for more details.
+  Lesser General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
                                 <term><option>--type=</option></term>
                                 <term><option>-t</option></term>
 
-                                <listitem><para>When listing units,
-                                limit display to certain unit
-                                types. If not specified units of all
-                                types will be shown. The argument
-                                should be a unit type name such as
-                                <option>service</option>,
-                                <option>socket</option> and
-                                similar.</para></listitem>
+                                <listitem><para>The argument should
+                                be a unit type name such as
+                                <option>service</option> and
+                                <option>socket</option>,
+                                or a unit load state such as
+                                <option>loaded</option> and
+                                <option>masked</option>.
+                                </para>
+
+                                <para>If the argument is a unit type,
+                                when listing units, limit display to
+                                certain unit types. If not specified
+                                units of all types will be shown.</para>
+
+                                <para>If the argument is a unit load state,
+                                when listing units, limit display to
+                                certain unit types. If not specified
+                                units of in all load states will be
+                                shown.</para>
+
+                                <para>As a special case, if the argument
+                                is <option>help</option>, a list of
+                                allowed values will be printed and the
+                                program will exit.</para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>-p</option></term>
 
                                 <listitem><para>When showing
-                                unit/job/manager information, limit
+                                unit/job/manager properties, limit
                                 display to certain properties as
                                 specified as argument. If not
                                 specified all set properties are
                                 <listitem><para>When listing units,
                                 show all units, regardless of their
                                 state, including inactive units. When
-                                showing unit/job/manager information,
+                                showing unit/job/manager properties,
                                 show all properties regardless whether
                                 they are set or not.</para></listitem>
                         </varlistentry>
                                 <term><option>--full</option></term>
 
                                 <listitem><para>Do not ellipsize unit
-                                names and truncate unit descriptions
+                                names, cgroup members, and truncate unit descriptions
                                 in the output of
                                 <command>list-units</command> and
                                 <command>list-jobs</command>.</para></listitem>
                                 execute it immediately. If passed no
                                 required units of the unit passed will
                                 be pulled in, and no ordering
-                                dependencies will be honoured. This is
+                                dependencies will be honored. This is
                                 mostly a debugging and rescue tool for
                                 the administrator and should not be
                                 used by
                                 applications.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><option>-i</option></term>
+                                <term><option>--ignore-inhibitors</option></term>
+
+                                <listitem><para>When system shutdown
+                                or a sleep state is requested, ignore
+                                inhibitor locks. Applications can
+                                establish inhibitor locks to avoid
+                                that certain important operations
+                                (such as CD burning or suchlike) are
+                                interrupted by system shutdown or a
+                                sleep state. Any user may take these
+                                locks and privileged users may
+                                override these locks. If any locks are
+                                taken, shutdown and sleep state
+                                requests will normally fail
+                                (regardless if privileged or not) and
+                                list of active locks is
+                                printed. However if
+                                <option>--ignore-inhibitors</option>
+                                is specified the locks are ignored and
+                                not printed, and the operation
+                                attempted anyway, possibly requiring
+                                additional
+                                privileges.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><option>--quiet</option></term>
                                 <term><option>-q</option></term>
                                 STDOUT in
                                 <command>snapshot</command>,
                                 <command>is-active</command>,
+                                <command>is-failed</command>,
                                 <command>enable</command> and
                                 <command>disable</command>.</para></listitem>
                         </varlistentry>
                                 enqueued and <command>systemctl</command> will
                                 wait until it is completed. By passing this
                                 argument it is only verified and
-                                enqueued.</para></listitem> </varlistentry>
+                                enqueued.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--no-legend</option></term>
+
+                                <listitem><para>Do not print a legend, i.e.
+                                the column headers and the footer with hints.
+                                </para></listitem>
+                        </varlistentry>
 
                         <varlistentry>
                                 <term><option>--no-pager</option></term>
 
-                               <listitem><para>Do not pipe output into a
-                               pager.</para></listitem>
-                       </varlistentry>
+                                <listitem><para>Do not pipe output into a
+                                pager.</para></listitem>
+                        </varlistentry>
 
                         <varlistentry>
                                 <term><option>--system</option></term>
                                 <command>systemctl</command> will
                                 query the user on the terminal for the
                                 necessary secrets. Use this option to
-                                switch this behavior off. In this
-                                case the password must be supplied by
-                                some other means (for example
-                                graphical password agents) or the
-                                service might fail.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><option>--kill-mode=</option></term>
-
-                                <listitem><para>When used with
-                                <command>kill</command>, choose the
-                                mode how to kill the selected
-                                processes. Must be one of
-                                <option>control-group</option> or
-                                <option>process</option> to select
-                                whether to kill the entire control
-                                group or only the selected process
-                                itself. If omitted defaults to
-                                <option>control-group</option> if
-                                <option>--kill-who=all</option> is
-                                set, or <option>process</option>
-                                otherwise. You probably never need to
-                                use this switch.</para></listitem>
+                                switch this behavior off. In this case
+                                the password must be supplied by some
+                                other means (for example graphical
+                                password agents) or the service might
+                                fail. This also disables querying the
+                                user for authentication for privileged
+                                operations.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>-f</option></term>
 
                                 <listitem><para>When used with
-                                <command>enable</command>, override any
+                                <command>enable</command>, overwrite any
                                 existing conflicting
                                 symlinks.</para></listitem>
 
                                 <command>halt</command>,
                                 <command>poweroff</command>,
                                 <command>reboot</command> or
-                                <command>kexec</command> execute
+                                <command>kexec</command> execute the
                                 selected operation without shutting
                                 down all units. However, all processes
                                 will be killed forcibly and all file
                                 systems are unmounted or remounted
                                 read-only. This is hence a drastic but
                                 relatively safe option to request an
-                                immediate reboot.</para></listitem>
+                                immediate reboot. If
+                                <option>--force</option> is specified
+                                twice for these operations, they will
+                                be executed immediately without
+                                terminating any processes or umounting
+                                any file systems. Warning: specifying
+                                <option>--force</option> twice with
+                                any of these operations might result
+                                in data loss.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--root=</option></term>
+
+                                <listitem><para>When used with
+                                <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and
+                                related commands), use alternative
+                                root path when looking for unit
+                                files.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
-                                <term><option>--defaults</option></term>
+                                <term><option>--runtime</option></term>
 
                                 <listitem><para>When used with
-                                <command>disable</command>, ensures
-                                that only the symlinks created by
-                                <command>enable</command> are removed,
-                                not all symlinks pointing to the unit
-                                file that shall be
-                                disabled.</para></listitem>
+                                <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and related commands), make
+                                changes only temporarily, so that they
+                                are dropped on the next reboot. This
+                                will have the effect that changes are
+                                not made in subdirectories of
+                                <filename>/etc</filename> but in
+                                <filename>/run</filename>, with
+                                identical immediate effects, however,
+                                since the latter is lost on reboot,
+                                the changes are lost
+                                too.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 PolicyKit before executing the
                                 operation.</para></listitem>
                         </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--lines=</option></term>
+                                <term><option>-n</option></term>
+
+                                <listitem><para>When used with
+                                <command>status</command> controls the
+                                number of journal lines to show,
+                                counting from the most recent
+                                ones. Takes a positive integer
+                                argument. Defaults to
+                                10.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--output=</option></term>
+                                <term><option>-o</option></term>
+
+                                <listitem><para>When used with
+                                <command>status</command> controls the
+                                formatting of the journal entries that
+                                are shown. For the available choices
+                                see
+                                <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Defaults
+                                to
+                                <literal>short</literal>.</para></listitem>
+                        </varlistentry>
+
                 </variablelist>
 
                 <para>The following commands are understood:</para>
                                 this will also print the current unit
                                 state to STDOUT.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>is-failed [NAME...]</command></term>
+
+                                <listitem><para>Check whether any of
+                                the specified units are failed.
+                                Returns an exit code
+                                0 if at least one is failed, non-zero
+                                otherwise. Unless
+                                <option>--quiet</option> is specified
+                                this will also print the current unit
+                                state to STDOUT.</para></listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>status [NAME...|PID...]</command></term>
 
                                 <listitem><para>Show terse runtime
                                 status information about one or more
-                                units. This function is intended to
-                                generate human-readable output. If you
-                                are looking for computer-parsable
-                                output, use <command>show</command>
-                                instead. If a PID is passed
-                                information about the unit the process
-                                of the PID belongs to is
-                                shown.</para></listitem>
+                                units, followed by its most recent log
+                                data from the journal. This function
+                                is intended to generate human-readable
+                                output. If you are looking for
+                                computer-parsable output, use
+                                <command>show</command> instead. If a
+                                PID is passed information about the
+                                unit the process of the PID belongs to
+                                is shown.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>show [NAME...|JOB...]</command></term>
                                 looking for formatted human-readable
                                 output.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>help [NAME...|PID...]</command></term>
 
+                                <listitem><para>Show manual pages for
+                                one or more units, if available. If a
+                                PID is passed the manual pages for the
+                                unit the process of the PID belongs to
+                                is shown.</para></listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>reset-failed [NAME...]</command></term>
 
                                 command.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><command>list-unit-files</command></term>
+
+                                <listitem><para>List installed unit files.
+                                </para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><command>enable [NAME...]</command></term>
 
-                                <listitem><para>Enable one or more
-                                unit files, as specified on the
+                                <listitem><para>Enable one or
+                                more unit files or unit file
+                                instances, as specified on the
                                 command line. This will create a
-                                number of symlinks as encoded in the
-                                <literal>[Install]</literal> sections
-                                of the unit files. After the symlinks
-                                have been created the systemd
-                                configuration is reloaded (in a way
-                                that is equivalent to
-                                <command>daemon-reload</command>) to
-                                ensure the changes are taken into
+                                number of symlinks as encoded in
+                                the <literal>[Install]</literal>
+                                sections of the unit files. After
+                                the symlinks have been created the
+                                systemd configuration is reloaded
+                                (in a way that is equivalent to
+                                <command>daemon-reload</command>)
+                                to ensure the changes are taken into
                                 account immediately. Note that this
                                 does not have the effect that any of
                                 the units enabled are also started at
-                                the same time. If this is desired a
-                                separate <command>start</command>
-                                command must be invoked for the
-                                unit.</para>
+                                the same time.  If this is desired
+                                a separate <command>start</command>
+                                command must be invoked for the unit.
+                                Also note that in case of instance
+                                enablement, symlinks named same as
+                                instances are created in install
+                                location, however they all point to
+                                the same template unit file.</para>
 
                                 <para>This command will
                                 print the actions executed. This
                                 configuration directory, and hence
                                 undoes the changes made by
                                 <command>enable</command>. Note
-                                however that this by default removes
+                                however that this removes
                                 all symlinks to the unit files
                                 (i.e. including manual additions), not
                                 just those actually created by
-                                <command>enable</command>. If only the
-                                symlinks that are suggested by default
-                                shall be removed, pass
-                                <option>--defaults</option>. This
+                                <command>enable</command>. This call
                                 implicitly reloads the systemd daemon
                                 configuration after completing the
                                 disabling of the units. Note that this
                                 command does not implicitly stop the
-                                units that is being disabled. If this
+                                units that are being disabled. If this
                                 is desired an additional
-                                <command>stop</command>command should
+                                <command>stop</command> command should
                                 be executed afterwards.</para>
 
                                 <para>This command will print the
                                 <term><command>is-enabled [NAME...]</command></term>
 
                                 <listitem><para>Checks whether any of
-                                the specified unit files is enabled
+                                the specified unit files are enabled
                                 (as with
                                 <command>enable</command>). Returns an
                                 exit code of 0 if at least one is
-                                enabled, non-zero
-                                otherwise.</para></listitem>
+                                enabled, non-zero otherwise. Prints
+                                the current enable status. To suppress
+                                this output use
+                                <option>--quiet</option>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>reenable [NAME...]</command></term>
+
+                                <listitem><para>Reenable one or more
+                                unit files, as specified on the
+                                command line. This is a combination of
+                                <command>disable</command> and
+                                <command>enable</command> and is
+                                useful to reset the symlinks a unit is
+                                enabled with to the defaults
+                                configured in the
+                                <literal>[Install]</literal> section
+                                of the unit file.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>preset [NAME...]</command></term>
+
+                                <listitem><para>Reset one or more unit
+                                files, as specified on the command
+                                line, to the defaults configured in
+                                the preset policy files. This has the
+                                same effect as
+                                <command>disable</command> or
+                                <command>enable</command>, depending
+                                how the unit is listed in the preset
+                                files. For more information on preset
+                                policy format see
+                                <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For
+                                more information on the concept of
+                                presets please consult the <ulink
+                                url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
+                                document.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>mask [NAME...]</command></term>
+
+                                <listitem><para>Mask one or more unit
+                                files, as specified on the command
+                                line. This will link these units to
+                                <filename>/dev/null</filename>, making
+                                it impossible to start them. This is a stronger version
+                                of <command>disable</command>, since
+                                it prohibits all kinds of activation
+                                of the unit, including manual
+                                activation. Use this option with
+                                care.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>unmask [NAME...]</command></term>
+
+                                <listitem><para>Unmask one or more
+                                unit files, as specified on the
+                                command line. This will undo the
+                                effect of
+                                <command>mask</command>.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>link [NAME...]</command></term>
+
+                                <listitem><para>Link a unit file that
+                                is not in the unit file search paths
+                                into the unit file search path. This
+                                requires an absolute path to a unit
+                                file. The effect of this can be undone
+                                with <command>disable</command>. The
+                                effect of this command is that a unit
+                                file is available for
+                                <command>start</command> and other
+                                commands although it isn't installed
+                                directly in the unit search
+                                path.</para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 their numeric job
                                 IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
                         </varlistentry>
-                        <varlistentry>
-                                <term><command>monitor</command></term>
-
-                                <listitem><para>Monitor unit/job
-                                changes. This is mostly useful for
-                                debugging purposes and prints a line
-                                each time systemd loads or unloads a
-                                unit configuration file, or a unit
-                                property changes.</para></listitem>
-                        </varlistentry>
                         <varlistentry>
                                 <term><command>dump</command></term>
 
                                 ordering and requirement
                                 dependencies.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>list-dependencies [NAME]</command></term>
+
+                                <listitem><para>
+                                Shows required and wanted units of given unit.
+                                Target units are recursively expanded.
+                                When <option>--all</option> is passed
+                                dependency tree is generated for all
+                                subsidiary units.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>snapshot [NAME]</command></term>
 
                                 system. This is mostly equivalent to
                                 <command>start halt.target</command>
                                 but also prints a wall message to all
-                                users.  If
-                                combined with <option>--force</option>
-                                shutdown of all running services is
-                                skipped, however all processes are killed
-                                and all file systems are unmounted or
+                                users.  If combined with
+                                <option>--force</option> shutdown of
+                                all running services is skipped,
+                                however all processes are killed and
+                                all file systems are unmounted or
                                 mounted read-only, immediately
-                                followed by the
-                                system halt.</para></listitem>
+                                followed by the system halt.  If
+                                <option>--force</option> is specified
+                                twice the operation is immediately
+                                executed without terminating any
+                                processes or unmounting any file
+                                systems. This may result in data
+                                loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>poweroff</command></term>
                                 power-off the system. This is mostly
                                 equivalent to <command>start
                                 poweroff.target</command> but also
-                                prints a wall message to all
-                                users. If
+                                prints a wall message to all users. If
                                 combined with <option>--force</option>
                                 shutdown of all running services is
-                                skipped, however all processes are killed
-                                and all file systems are unmounted or
-                                mounted read-only, immediately
-                                followed by the
-                                powering off.</para></listitem>
+                                skipped, however all processes are
+                                killed and all file systems are
+                                unmounted or mounted read-only,
+                                immediately followed by the powering
+                                off. If <option>--force</option> is
+                                specified twice the operation is
+                                immediately executed without
+                                terminating any processes or
+                                unmounting any file systems. This may
+                                result in data loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>reboot</command></term>
 
-                                <listitem><para>Shut down and
-                                reboot the system. This is mostly
-                                equivalent to <command>start
+                                <listitem><para>Shut down and reboot
+                                the system. This is mostly equivalent
+                                to <command>start
                                 reboot.target</command> but also
-                                prints a wall message to all
-                                users. If
+                                prints a wall message to all users. If
                                 combined with <option>--force</option>
                                 shutdown of all running services is
-                                skipped, however all processes are killed
-                                and all file systems are unmounted or
-                                mounted read-only, immediately
-                                followed by the
-                                reboot.</para></listitem>
+                                skipped, however all processes are
+                                killed and all file systems are
+                                unmounted or mounted read-only,
+                                immediately followed by the reboot. If
+                                <option>--force</option> is specified
+                                twice the operation is immediately
+                                executed without terminating any
+                                processes or unmounting any file
+                                systems. This may result in data
+                                loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>kexec</command></term>
                                 <option>--user</option> option) and
                                 will fail otherwise.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>suspend</command></term>
+
+                                <listitem><para>Suspend the
+                                system. This will trigger activation
+                                of the special
+                                <filename>suspend.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>hibernate</command></term>
+
+                                <listitem><para>Hibernate the
+                                system. This will trigger activation
+                                of the special
+                                <filename>hibernate.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>hybrid-sleep</command></term>
+
+                                <listitem><para>Hibernate and suspend
+                                the system. This will trigger
+                                activation of the special
+                                <filename>hybrid-sleep.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>switch-root [ROOT] [INIT]</command></term>
+
+                                <listitem><para>Switches to a
+                                different root directory and executes
+                                a new system manager process below
+                                it. This is intended for usage in
+                                initial RAM disks ("initrd"), and will
+                                transition from the initrd's system
+                                manager process (a.k.a "init" process)
+                                to the main system manager
+                                process. Takes two arguments: the
+                                directory to make the new root
+                                directory, and the path to the new
+                                system manager binary below it to
+                                execute as PID 1. If the latter is
+                                omitted or the empty string, a
+                                systemd binary will automatically be
+                                searched for and used as init. If the
+                                system manager path is omitted or
+                                equal the empty string the state of
+                                the initrd's system manager process is
+                                passed to the main system manager,
+                                which allows later introspection of the
+                                state of the services involved in the
+                                initrd boot.</para></listitem>
+                        </varlistentry>
                 </variablelist>
 
         </refsect1>
                 code otherwise.</para>
         </refsect1>
 
+        <refsect1>
+                <title>Environment</title>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><varname>$SYSTEMD_PAGER</varname></term>
+                                <listitem><para>Pager to use when
+                                <option>--no-pager</option> is not given;
+                                overrides <varname>$PAGER</varname>.  Setting
+                                this to an empty string or the value
+                                <literal>cat</literal> is equivalent to passing
+                                <option>--no-pager</option>.</para></listitem>
+                        </varlistentry>
+                </variablelist>
+        </refsect1>
+
         <refsect1>
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 </para>
         </refsect1>