<cmdsynopsis>
<command>systemd-install <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="plain">disable</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
</cmdsynopsis>
+ <cmdsynopsis>
+ <command>systemd-install <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="plain">realize</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
+ </cmdsynopsis>
<cmdsynopsis>
<command>systemd-install <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="plain">test</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
</cmdsynopsis>
<para><command>systemd-install</command> enables or
disables systemd units, or checks whether they are
- enabled.</para>
+ enabled, according to the installation suggestions
+ included in the unit files.</para>
<para>This command is useful to apply or undo the
- installation instructions encoded in the [Install]
+ installation instructions encoded in the <literal>[Install]</literal>
section of unit files. See
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for more information.</para>
+
+ <para>Enabling units (as with <command>systemd-install
+ enable</command>) should not be confused with
+ activating units (as with <command>systemctl
+ start</command>). The former simply installs the unit
+ files in the configuration tree, but does not start
+ them. The latter equals starting them, but does not
+ necessarily require them to be enabled.</para>
+
+ <para>Note that while
+ <command>systemd-install</command> is the recommended
+ tool to create or remove symlinks in the systemd
+ configuration directory the administrator can also
+ create links there manually, which is particularly
+ useful to use configurations that deviate from the
+ installation suggestions included in the unit
+ files.</para>
</refsect1>
<refsect1>
session service for all
users.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>--realize[=MODE]</option></term>
+
+ <listitem><para>After
+ enabling/disabling stop/restart/stop
+ the unit and reload manager
+ configuration. Optionally, takes one
+ of <option>no</option>,
+ <option>reload</option>,
+ <option>minimal</option>,
+ <option>maybe</option> or
+ <option>yes</option>. If
+ <option>no</option> is passed the
+ manager will not reload its
+ configuration and no service will be
+ started or stopped after
+ enabling/disabling of the unit
+ files. If <option>reload</option> is
+ passed the daemon configuration is
+ reloaded but the unit otherwise not
+ started/stopped/restarted. If
+ <option>minimal</option> is passed and
+ a unit is being enabled it will also
+ be restarted should it already be
+ running. If a unit is being disabled
+ it will be stopped should it be
+ running. In either case the daemon
+ configuration is
+ reloaded. <option>maybe</option> is
+ similar to this, but the unit will
+ also be started if it is being enabled
+ and any of the units listed in
+ <varname>WantedBy=</varname> in the
+ <literal>[Install]</literal> section
+ of the unit file is already
+ activated. Finally
+ <option>yes</option> starts the unit
+ unconditionally after enabling. This
+ setting defaults to
+ <option>no</option>. If
+ <option>--realize</option> is
+ specifieed but the mode value is
+ omitted defaults to
+ <option>maybe</option>. This option
+ has no effect when
+ <option>--global</option> or
+ <command>test</command> is used, or
+ when systemd is not running or the
+ command is executed in a
+ <citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ environment. This option is implied if
+ the <command>realize</command> command
+ is used.</para></listitem>
+ </varlistentry>
</variablelist>
<para>The following commands are understood:</para>
<varlistentry>
<term><command>enable</command></term>
- <listitem><para>Enable a unit. This
- will create a number of symlinks as
- encoded in the [Install] section of a
- unit file.</para></listitem>
+ <listitem><para>Enable one or more
+ units. This will create a number of
+ symlinks as encoded in the
+ <literal>[Install]</literal> section
+ of a unit file.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>disable</command></term>
- <listitem><para>Disable a unit. This
- will removed a number of symlinks as
- encoded in the [Install] section of a
- unit file.</para></listitem>
+ <listitem><para>Disable or more
+ units. This will remove a number of
+ symlinks as encoded in the
+ <literal>[Install]</literal> section
+ of a unit file.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><command>realize</command></term>
+
+ <listitem><para>Does not enable or
+ disable any unit. Checks whether any
+ of the units specified are enabled,
+ and then starts/stops/restarts the
+ units accordingly. This will check for
+ the existence of a number of symlinks
+ as encoded in the
+ <literal>[Install]</literal> section
+ of a unit file, and then executes the
+ action normally specified by
+ <option>--realize</option>. If
+ <option>--realize</option> is not
+ specified implies
+ <option>maybe</option> mode. To
+ override this mode specify
+ <option>--realize=</option> in
+ addition to
+ <command>realize</command>.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>test</command></term>
- <listitem><para>Checks whether any of
- the units specified are
- installed. This will check for the
+ <listitem><para>Does not enable or
+ disable any unit. Checks whether any
+ of the units specified are
+ enabled. This will check for the
existence of a number of symlinks as
- encoded in the [Install] section of a
- unit file.</para></listitem>
+ encoded in the
+ <literal>[Install]</literal> section
+ of a unit file, and return with an
+ exit code of 0 if a unit is enabled, 1
+ otherwise.</para></listitem>
</varlistentry>
+
</variablelist>
</refsect1>