chiark / gitweb /
systemctl: do not show SourcePath when FragmentPath cannot be found
[elogind.git] / man / systemctl.xml
index 605b7869b24658de7d362549f4917d0a3fd81d95..a84a98338c5d9aac9985306014e3e31a9ddf6665 100644 (file)
@@ -63,19 +63,6 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
     introspect and control the state of the
     <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
     system and service manager.</para>
-
-    <para>For Unit Commands the <replaceable>NAME</replaceable> represents full name of unit.
-    <programlisting>
-systemctl start foo.service
-    </programlisting>
-    For Unit File Commands the <replaceable>NAME</replaceable> represents full name of the unit file, or absolute path to the unit file.
-    <programlisting>
-systemctl start /path/to/foo.service
-    </programlisting>
-    While working with services/service files, <command>systemctl</command> is able to append .service suffix when it is missing.
-    <programlisting>
-systemctl start foo
-    </programlisting></para>
   </refsect1>
 
   <refsect1>
@@ -194,18 +181,6 @@ systemctl start foo
         </listitem>
       </varlistentry>
 
-      <varlistentry>
-        <term><option>--fail</option></term>
-
-        <listitem>
-          <para>If the requested operation conflicts with a pending
-          unfinished job, fail the command. If this is not specified,
-          the requested operation will replace the pending job, if
-          necessary. Do not confuse with
-          <option>--failed</option>.</para>
-        </listitem>
-      </varlistentry>
-
       <varlistentry>
         <term><option>--show-types</option></term>
 
@@ -215,27 +190,58 @@ systemctl start foo
       </varlistentry>
 
       <varlistentry>
-        <term><option>--irreversible</option></term>
+        <term><option>--job-mode=</option></term>
 
         <listitem>
-          <para>Mark this transaction's jobs as irreversible. This prevents
-          future conflicting transactions from replacing these jobs.
-          The jobs can still be cancelled using the <command>cancel</command>
-          command.</para>
+        <para>When queuing a new job, control how to deal with already
+        queued jobs. Takes one of <literal>fail</literal>,
+        <literal>replace</literal>,
+        <literal>replace-irreversibly</literal>,
+        <literal>isolate</literal>,
+        <literal>ignore-dependencies</literal>,
+        <literal>ignore-requirements</literal> or
+        <literal>flush</literal>. Defaults to
+        <literal>replace</literal>, except when the
+        <command>isolate</command> command is used which implies the
+        <literal>isolate</literal> job mode.</para>
+
+        <para>If <literal>fail</literal> is specified and a requested
+        operation conflicts with a pending job (more specifically:
+        causes an already pending start job to be reversed into a stop
+        job or vice versa), cause the operation to fail.</para>
+
+        <para>If <literal>replace</literal> (the default) is
+        specified, any conflicting pending job will be replaced, as
+        necessary.</para>
+
+        <para>If <literal>replace-irreversibly</literal> is specified,
+        operate like <literal>replace</literal>, but also mark the new
+        jobs as irreversible. This prevents future conflicting
+        transactions from replacing these jobs. The jobs can still be
+        cancelled using the <command>cancel</command> command.</para>
+
+        <para><literal>isolate</literal> is only valid for start
+        operations and causes all other units to be stopped when the
+        specified unit is started. This mode is always used when the
+        <command>isolate</command> command is used.</para>
+
+        <para><literal>flush</literal> will cause all queued jobs to
+        be canceled when the new job is enqueued.</para>
+
+        <para>If <literal>ignore-dependencies</literal> is specified,
+        then all unit dependencies are ignored for this new job and
+        the operation is executed immediately. If passed, no required
+        units of the unit passed will be pulled in, and no ordering
+        dependencies will be honored. This is mostly a debugging and
+        rescue tool for the administrator and should not be used by
+        applications.</para>
+
+        <para><literal>ignore-requirements</literal> is similar to
+        <literal>ignore-dependencies</literal> but only causes the
+        requirement dependencies to be ignored, the ordering
+        dependencies will still be honoured.</para>
         </listitem>
-      </varlistentry>
 
-      <varlistentry>
-        <term><option>--ignore-dependencies</option></term>
-
-        <listitem>
-          <para>When enqueuing a new job, ignore all its dependencies
-          and execute it immediately. If passed, no required units of
-          the unit passed will be pulled in, and no ordering
-          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>
@@ -457,21 +463,20 @@ systemctl start foo
         <term><option>--host</option></term>
 
         <listitem>
-          <para>Execute operation remotely. Specify a hostname, or
-          username and hostname separated by <literal>@</literal>, to connect to. This
-          will use SSH to talk to the remote systemd
+          <para>Execute the operation remotely. Specify a hostname, or
+          username and hostname separated by <literal>@</literal>, to
+          connect to. This will use SSH to talk to the remote systemd
           instance.</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
-        <term><option>-P</option></term>
-        <term><option>--privileged</option></term>
+          <term><option>-M</option></term>
+          <term><option>--machine=</option></term>
 
-        <listitem>
-          <para>Acquire privileges via PolicyKit before executing the
-          operation.</para>
-        </listitem>
+          <listitem><para>Execute the operation on a local
+          container. Specify a container name to connect
+          to.</para></listitem>
       </varlistentry>
 
       <varlistentry>
@@ -555,6 +560,17 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
           </listitem>
         </varlistentry>
 
+        <varlistentry>
+          <term><command>list-timers</command></term>
+
+          <listitem>
+            <para>List timer units ordered by the time they elapse next.</para>
+
+            <para>See also the options <option>--all</option> and
+            <option>--failed</option>.</para>
+          </listitem>
+        </varlistentry>
+
         <varlistentry>
           <term><command>start <replaceable>NAME</replaceable>...</command></term>
 
@@ -717,7 +733,16 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
             human-readable output.</para>
           </listitem>
         </varlistentry>
+        <varlistentry>
+          <term><command>cat <replaceable>NAME</replaceable>...</command></term>
 
+          <listitem>
+            <para>Show backing files of one or more units. Prints the
+            "fragment" and "drop-ins" (source files) of units. Each
+            file is preceded by a comment which includes the file
+            name.</para>
+          </listitem>
+        </varlistentry>
         <varlistentry>
           <term><command>set-property <replaceable>NAME</replaceable> <replaceable>ASSIGNMENT</replaceable>...</command></term>
 
@@ -1179,7 +1204,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
           </listitem>
         </varlistentry>
         <varlistentry>
-          <term><command>reboot</command></term>
+          <term><command>reboot <optional><replaceable>arg</replaceable></optional></command></term>
 
           <listitem>
             <para>Shut down and reboot the system. This is mostly
@@ -1192,6 +1217,16 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
             specified twice, the operation is immediately executed
             without terminating any processes or unmounting any file
             systems. This may result in data loss.</para>
+
+            <para>If the optional argument
+            <replaceable>arg</replaceable> is given, it will be passed
+            as the optional argument to the
+            <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+            system call. The value is architecture and firmware
+            specific. As an example, <literal>recovery</literal> might
+            be used to trigger system recovery, and
+            <literal>fota</literal> might be used to trigger a
+            <quote>firmware over the air</quote> update.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
@@ -1268,6 +1303,28 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
       </variablelist>
     </refsect2>
 
+    <refsect2>
+      <title>Parameter Syntax</title>
+
+    <para>For unit commands the specified
+    <replaceable>NAME</replaceable> should be the full name of the
+    unit, or an abbreviated name which is automatically extended with
+    the <literal>.service</literal> suffix.
+    <programlisting># systemctl start foo.service</programlisting> is equivalent to:
+    <programlisting># systemctl start foo</programlisting>
+    Note that (absolute) paths to device nodes are automatically converted to device unit names, and other (absolute) paths to mount unit names.
+    <programlisting># systemctl status /dev/sda
+# systemctl status /home</programlisting> is equivalent to:
+    <programlisting># systemctl status dev-sda.device
+# systemctl status home.mount</programlisting></para>
+
+    <para>For unit file commands the
+    specified <replaceable>NAME</replaceable> should be the full name
+    of the unit file, or the absolute path to the unit file.
+    <programlisting># systemctl link /path/to/foo.service</programlisting>
+    </para>
+    </refsect2>
+
   </refsect1>
 
   <refsect1>