mirror of
https://github.com/systemd/systemd.git
synced 2025-03-28 02:50:16 +03:00
systemctl: fold systemd-install into systemctl
This commit is contained in:
parent
9d8a57fff1
commit
ee5762e378
18
Makefile.am
18
Makefile.am
@ -58,7 +58,6 @@ rootbin_PROGRAMS = \
|
||||
systemd-notify
|
||||
|
||||
bin_PROGRAMS = \
|
||||
systemd-install \
|
||||
systemd-cgls
|
||||
|
||||
if HAVE_GTK
|
||||
@ -325,7 +324,6 @@ MANPAGES = \
|
||||
man/systemd.1 \
|
||||
man/systemctl.1 \
|
||||
man/systemadm.1 \
|
||||
man/systemd-install.1 \
|
||||
man/systemd-cgls.1 \
|
||||
man/systemd-notify.1 \
|
||||
man/sd_notify.3 \
|
||||
@ -494,6 +492,8 @@ systemctl_SOURCES = \
|
||||
src/systemctl.c \
|
||||
src/utmp-wtmp.c \
|
||||
src/dbus-common.c \
|
||||
src/path-lookup.c \
|
||||
src/sd-daemon.c \
|
||||
src/cgroup-show.c \
|
||||
src/cgroup-util.c
|
||||
|
||||
@ -512,20 +512,6 @@ systemd_notify_SOURCES = \
|
||||
systemd_notify_LDADD = \
|
||||
libsystemd-basic.la
|
||||
|
||||
systemd_install_SOURCES = \
|
||||
src/install.c \
|
||||
src/path-lookup.c \
|
||||
src/dbus-common.c \
|
||||
src/sd-daemon.c
|
||||
|
||||
systemd_install_LDADD = \
|
||||
libsystemd-basic.la \
|
||||
$(DBUS_LIBS)
|
||||
|
||||
systemd_install_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
$(DBUS_CFLAGS)
|
||||
|
||||
systemd_cgls_SOURCES = \
|
||||
src/cgls.c \
|
||||
src/cgroup-show.c \
|
||||
|
@ -543,10 +543,10 @@
|
||||
the hardware of the respective kind is plugged
|
||||
in or otherwise becomes available. In a
|
||||
new-style init system it is possible to bind
|
||||
activation to hardware plug/unplug events. In systemd,
|
||||
kernel devices appearing in the sysfs/udev
|
||||
device tree can be exposed as units if they
|
||||
are tagged with the string
|
||||
activation to hardware plug/unplug events. In
|
||||
systemd, kernel devices appearing in the
|
||||
sysfs/udev device tree can be exposed as units
|
||||
if they are tagged with the string
|
||||
"<literal>systemd</literal>". Like any other
|
||||
kind of unit they may then pull in other units
|
||||
when activated (i.e. Plugged in) and thus
|
||||
@ -570,8 +570,9 @@
|
||||
<filename>bluetoothd.service</filename> via
|
||||
controlling a
|
||||
<filename>bluetooth.target.wants/</filename>
|
||||
symlink uniformly with a tool like
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
symlink uniformly with a command like
|
||||
<command>enable</command> of
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
instead of manipulating the udev
|
||||
ruleset.</para>
|
||||
</refsect2>
|
||||
@ -756,9 +757,9 @@
|
||||
install their systemd unit files in the
|
||||
directory returned by <command>pkg-config
|
||||
systemd
|
||||
--variable=systemdsystemunitdir</command>
|
||||
(for system services),
|
||||
resp. <command>pkg-config systemd
|
||||
--variable=systemdsystemunitdir</command> (for
|
||||
system services), resp. <command>pkg-config
|
||||
systemd
|
||||
--variable=systemdsessionunitdir</command>
|
||||
(for session services). This will make the
|
||||
services available in the system on explicit
|
||||
@ -767,8 +768,9 @@
|
||||
installation (e.g. <command>rpm -i</command>
|
||||
by the administrator) symlinks should be
|
||||
created in the systemd configuration
|
||||
directories via the
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
directories via the <command>enable</command>
|
||||
command of the
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
tool, to activate them automatically on
|
||||
boot.</para>
|
||||
|
||||
@ -823,20 +825,32 @@ endif</programlisting>
|
||||
package managers:</para>
|
||||
|
||||
<programlisting>%post
|
||||
/usr/bin/systemd-install --realize enable foobar.service foobar.socket >/dev/null 2>&1 || :
|
||||
if [ $1 -eq 1 ]; then
|
||||
# Enable (but don't start) the units by default
|
||||
/bin/systemctl enable foobar.service foobar.socket >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ "$1" -eq 0 ]; then
|
||||
/usr/bin/systemd-install --realize disable foobar.service foobar.socket >/dev/null 2>&1 || :
|
||||
if [ $1 -eq 0 ]; then
|
||||
# Disable and stop the units
|
||||
/bin/systemctl disable foobar.service foobar.socket >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop foobar.service foobar.socket >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ $1 -ge 1 ] ; then
|
||||
# On upgrade, reload init system configuration if we changed unit files
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
# On upgrade, restart the daemon
|
||||
/bin/systemctl try-restart foobar.service >/dev/null 2>&1 || :
|
||||
fi</programlisting>
|
||||
|
||||
<para>Depending on whether your service should
|
||||
or should not be started/stopped/restarted
|
||||
during package installation, deinstallation or
|
||||
upgrade, a different argument to
|
||||
<option>--realize=</option> may be
|
||||
upgrade, a different set of commands may be
|
||||
specified. See
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
for details.</para>
|
||||
|
||||
</refsect2>
|
||||
@ -909,7 +923,6 @@ fi</programlisting>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
|
@ -21,7 +21,7 @@
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="systemd-install">
|
||||
<refentry id="systemctl">
|
||||
|
||||
<refentryinfo>
|
||||
<title>systemctl</title>
|
||||
@ -96,8 +96,9 @@
|
||||
|
||||
<listitem><para>When showing
|
||||
unit/job/manager information, limit
|
||||
display to certain property names. If
|
||||
not specified all set properties are
|
||||
display to certain properties as
|
||||
specified as argument. If not
|
||||
specified all set properties are
|
||||
shown. The argument should be a
|
||||
property name, such as
|
||||
<literal>MainPID</literal>. If
|
||||
@ -131,12 +132,48 @@
|
||||
<term><option>--fail</option></term>
|
||||
|
||||
<listitem><para>If the requested
|
||||
operation conflicts with an existing
|
||||
unfinished operation, fail the
|
||||
command. If this is not specified the
|
||||
requested operation will replace the
|
||||
pending job if
|
||||
necessary.</para></listitem>
|
||||
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.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--quiet</option></term>
|
||||
<term><option>-q</option></term>
|
||||
|
||||
<listitem><para>Suppress output to
|
||||
STDOUT in
|
||||
<command>snapshot</command>,
|
||||
<command>check</command>,
|
||||
<command>enable</command> and
|
||||
<command>disable</command>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-block</option></term>
|
||||
|
||||
<listitem><para>Do not synchronously wait for
|
||||
the requested operation to finish. If this is
|
||||
not specified the job will be verified,
|
||||
enqueued and <command>systemctl</command> will
|
||||
wait until it is completed. By passing this
|
||||
argument it is only verified and
|
||||
enqueued.</para></listitem> </varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--system</option></term>
|
||||
|
||||
<listitem><para>Talk to the systemd
|
||||
system manager. (Default)</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--session</option></term>
|
||||
|
||||
<listitem><para>Talk to the systemd
|
||||
session manager of the calling user.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -165,41 +202,6 @@
|
||||
types.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--system</option></term>
|
||||
|
||||
<listitem><para>Talk to the systemd
|
||||
system manager. (Default)</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--session</option></term>
|
||||
|
||||
<listitem><para>Talk to the systemd
|
||||
session manager of the calling user.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-block</option></term>
|
||||
|
||||
<listitem><para>Do not synchronously wait for
|
||||
the requested operation to finish. If this is
|
||||
not specified the job will be verified,
|
||||
enqueued and <command>systemctl</command> will
|
||||
wait until it is completed. By passing this
|
||||
argument it is only verified and
|
||||
enqueued.</para></listitem> </varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--quiet</option></term>
|
||||
<term><option>-q</option></term>
|
||||
|
||||
<listitem><para>Suppress output to
|
||||
STDOUT for <command>snapshot</command>
|
||||
and
|
||||
<command>check</command>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-wall</option></term>
|
||||
|
||||
@ -207,6 +209,50 @@
|
||||
message before
|
||||
halt, power-off, reboot.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--global</option></term>
|
||||
|
||||
<listitem><para>When used with
|
||||
<command>enable</command> and
|
||||
<command>disable</command>, operate on the
|
||||
global session configuŕation
|
||||
directory, thus enabling or disabling
|
||||
a unit file globally for all future
|
||||
sessions of all users.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-reload</option></term>
|
||||
|
||||
<listitem><para>When used with
|
||||
<command>enable</command> and
|
||||
<command>disable</command>, do not
|
||||
implicitly reload daemon configuration
|
||||
after executing the
|
||||
changes.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--force</option></term>
|
||||
|
||||
<listitem><para>When used with
|
||||
<command>enable</command>, override any
|
||||
existing conflicting
|
||||
symlinks.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--defaults</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>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>The following commands are understood:</para>
|
||||
@ -220,29 +266,28 @@
|
||||
<varlistentry>
|
||||
<term><command>start [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Start one or more
|
||||
units specified on the command
|
||||
<listitem><para>Start (activate) one
|
||||
or more units specified on the command
|
||||
line.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>stop [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Stop one or more units
|
||||
specified on the command
|
||||
<listitem><para>Stop (deactivate) one
|
||||
or more units specified on the command
|
||||
line.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>reload [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Asks all services
|
||||
whose units are listed on the command
|
||||
line to reload their
|
||||
<listitem><para>Asks all units listed
|
||||
on the command line to reload their
|
||||
configuration. Note that this will
|
||||
reload the daemon configuration
|
||||
itself, not the unit configuration
|
||||
file of systemd. If you want systemd
|
||||
to reload the configuration file of a
|
||||
unit use the
|
||||
reload the service-specific
|
||||
configuration, not the unit
|
||||
configuration file of systemd. If you
|
||||
want systemd to reload the
|
||||
configuration file of a unit use the
|
||||
<command>daemon-reload</command>
|
||||
command. In other words: for the
|
||||
example case of Apache, this will
|
||||
@ -250,10 +295,12 @@
|
||||
<filename>httpd.conf</filename> in the
|
||||
web server, not the
|
||||
<filename>apache.service</filename>
|
||||
systemd unit file. </para> <para>This
|
||||
command should not be confused with
|
||||
the <command>daemon-reload</command>
|
||||
or <command>load</command>
|
||||
systemd unit file. </para>
|
||||
|
||||
<para>This command should not be
|
||||
confused with the
|
||||
<command>daemon-reload</command> or
|
||||
<command>load</command>
|
||||
commands.</para></listitem>
|
||||
|
||||
</varlistentry>
|
||||
@ -280,9 +327,14 @@
|
||||
<term><command>reload-or-try-restart [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Reload one or more
|
||||
units if they support it. If not
|
||||
restart them
|
||||
instead.</para></listitem>
|
||||
units if they support it. If not,
|
||||
restart them instead. Note that for
|
||||
compatibility with SysV and Red Hat
|
||||
init scripts
|
||||
<command>force-reload</command> and
|
||||
<command>condrestart</command> may be
|
||||
used as equivalent commands to
|
||||
<command>reload-or-try-restart</command>.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>isolate [NAME]</command></term>
|
||||
@ -293,12 +345,12 @@
|
||||
others.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>check [NAME...]</command></term>
|
||||
<term><command>is-active [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Check whether any of
|
||||
the specified units is active
|
||||
(i.e. running). Returns 0 if at least
|
||||
one is active, non-zero
|
||||
(i.e. running). Returns an exit code
|
||||
0 if at least one is active, non-zero
|
||||
otherwise. Unless
|
||||
<option>--quiet</option> is specified
|
||||
this will also print the current unit
|
||||
@ -307,24 +359,36 @@
|
||||
<varlistentry>
|
||||
<term><command>status [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Show short status
|
||||
information about one or more
|
||||
units. This shows terse runtime
|
||||
information about
|
||||
units.</para></listitem>
|
||||
<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.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>show [NAME...|JOB...]</command></term>
|
||||
|
||||
<listitem><para>Show properties of
|
||||
one or more units, jobs or the manager
|
||||
<listitem><para>Show properties of one
|
||||
or more units, jobs or the manager
|
||||
itself. If no argument is specified
|
||||
properties of the manager will be
|
||||
shown. If a unit name is specified
|
||||
properties of the unit is shown,
|
||||
and if a job id is specified
|
||||
properties of the job is
|
||||
shown.</para></listitem>
|
||||
properties of the unit is shown, and
|
||||
if a job id is specified properties of
|
||||
the job is shown. By default, empty
|
||||
properties are suppressed. Use
|
||||
<option>--all</option> to show those
|
||||
too. To select specific properties to
|
||||
show use
|
||||
<option>--property=</option>. This
|
||||
command is intended to be used
|
||||
whenever computer-parsable output is
|
||||
required. Use
|
||||
<command>status</command> if you are
|
||||
looking for formatted human-readable
|
||||
output.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -345,6 +409,133 @@
|
||||
command.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>enable [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Enable one or more
|
||||
unit files, 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
|
||||
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
|
||||
seperate <command>start</command>
|
||||
command must be invoked for the
|
||||
unit.</para>
|
||||
|
||||
<para>This command will
|
||||
print the actions executed. This
|
||||
output may be suppressed by passing
|
||||
<option>--quiet</option>.</para>
|
||||
|
||||
<para>Note that this operation creates
|
||||
only the suggested symlinks for the
|
||||
units. While this command is the
|
||||
recommended way to manipulate the unit
|
||||
configuration directory, the
|
||||
administrator is free to make
|
||||
additional changes manually, by
|
||||
placing or removing symlinks in the
|
||||
directory. This is particular useful
|
||||
to create configurations that deviate
|
||||
from the suggested default
|
||||
installation. In this case the
|
||||
administrator must make sure to invoke
|
||||
<command>daemon-reload</command>
|
||||
manually as necessary, to ensure his
|
||||
changes are taken into account.</para>
|
||||
|
||||
<para>Enabling units should not be
|
||||
confused with starting (activating)
|
||||
units, as done by the
|
||||
<command>start</command>
|
||||
command. Enabling and starting units
|
||||
is orthogonal: units may be enabled
|
||||
without being started and started
|
||||
without being enabled. Enabling simply
|
||||
hooks the unit into various suggested
|
||||
places (for example, so that the unit
|
||||
is automatically started on boot or
|
||||
when a particular kind of hardware is
|
||||
plugged in). Starting actually spawns
|
||||
the daemon process (in case of service
|
||||
units), or binds the socket (in case
|
||||
of socket units), and so
|
||||
on.</para>
|
||||
|
||||
<para>Depending on whether
|
||||
<option>--system</option>,
|
||||
<option>--session</option> or
|
||||
<option>--global</option> is specified
|
||||
this enables the unit for the system,
|
||||
for sessions of the calling user only
|
||||
or for all future session of all
|
||||
users. Note that in the latter case no
|
||||
systemd daemon configuration is
|
||||
reloaded.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>disable [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Disables one or more
|
||||
units. This removes all symlinks to
|
||||
the specified unit files from the unit
|
||||
configuration directory, and hence
|
||||
undoes the changes made by
|
||||
<command>enable</command>. Note
|
||||
however that this by default 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
|
||||
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
|
||||
is desired an additional
|
||||
<command>stop</command>command should
|
||||
be executed afterwards.</para>
|
||||
|
||||
<para>This command will print the
|
||||
actions executed. This output may be
|
||||
suppressed by passing
|
||||
<option>--quiet</option>.</para>
|
||||
</listitem>
|
||||
|
||||
<para>This command honours
|
||||
<option>--system</option>,
|
||||
<option>--session</option>,
|
||||
<option>--global</option> in a similar
|
||||
way as
|
||||
<command>enable</command>.</para>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>is-enabled [NAME...]</command></term>
|
||||
|
||||
<listitem><para>Checks whether any of
|
||||
the specified unit files is enabled
|
||||
(as with
|
||||
<command>enable</command>). Returns an
|
||||
exit code of 0 if at least one is
|
||||
enabled, non-zero
|
||||
otherwise.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>load [NAME...]</command></term>
|
||||
|
||||
@ -384,12 +575,7 @@
|
||||
<listitem><para>Cancel one or more
|
||||
jobs specified on the command line by
|
||||
their numeric job
|
||||
IDs.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>clear-jobs</command></term>
|
||||
|
||||
<listitem><para>Cancel all jobs that are in progress.</para></listitem>
|
||||
IDs. If not job id is specified cancels all jobs that are pending.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><command>monitor</command></term>
|
||||
|
@ -1,303 +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 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
|
||||
(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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="systemd-install">
|
||||
|
||||
<refentryinfo>
|
||||
<title>systemd-install</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>systemd-install</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>systemd-install</refname>
|
||||
<refpurpose>Enable or disable a systemd unit
|
||||
definition file</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-install <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="plain">enable</arg> <arg choice="opt" rep="repeat">NAME</arg></command>
|
||||
</cmdsynopsis>
|
||||
<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>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>systemd-install</command> enables or
|
||||
disables systemd units, or checks whether they are
|
||||
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 <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>
|
||||
<title>Options</title>
|
||||
|
||||
<para>The following options are understood:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>--help</option></term>
|
||||
|
||||
<listitem><para>Prints a short help
|
||||
text and exits.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--force</option></term>
|
||||
|
||||
<listitem><para>Enable/disable a
|
||||
service even if it conflicts
|
||||
with/contradicts another service. This
|
||||
might have the effect of disabling
|
||||
another service that was
|
||||
enabled.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--system</option></term>
|
||||
|
||||
<listitem><para>Enable/disable a
|
||||
system service.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--session</option></term>
|
||||
|
||||
<listitem><para>Enable/disable a
|
||||
session service for the calling
|
||||
user.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--global</option></term>
|
||||
|
||||
<listitem><para>Enable/disable a
|
||||
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>minimal</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>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--all</option></term>
|
||||
|
||||
<listitem><para>If set makes sure that
|
||||
all symlinks on the specified unit are
|
||||
removed from the configuration
|
||||
directory and its subdirectories, not
|
||||
just those specified in the
|
||||
<literal>[Install]</literal>
|
||||
section.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--verbose</option></term>
|
||||
<term><option>-v</option></term>
|
||||
|
||||
<listitem><para>Show what is done as
|
||||
it is done.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>The following commands are understood:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><command>enable</command></term>
|
||||
|
||||
<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 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>minimal</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>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
|
||||
<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>
|
||||
|
||||
<refsect1>
|
||||
<title>Exit status</title>
|
||||
|
||||
<para>On success 0 is returned, a non-zero failure
|
||||
code otherwise.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -136,8 +136,8 @@
|
||||
<varname>Wanted=</varname> see below. The preferred
|
||||
way to create symlinks in the
|
||||
<filename>.wants/</filename> directory of a service is
|
||||
with the
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
with the <command>enable</command> command of the
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
tool which reads information from the [Install]
|
||||
section of unit files. (See below.)</para>
|
||||
|
||||
@ -539,7 +539,9 @@
|
||||
section is not interpreted by
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
during runtime. It is used exclusively by the
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
<command>enable</command> and
|
||||
<command>disable</command> commands of the
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
tool during installation of a unit:</para>
|
||||
|
||||
<variablelist>
|
||||
@ -554,7 +556,7 @@
|
||||
more than once, in which case all
|
||||
listed names are used. At installation
|
||||
time,
|
||||
<command>systemd-install</command>
|
||||
<command>systemctl enable</command>
|
||||
will create symlinks from these names
|
||||
to the unit file name. Note that this
|
||||
is different from the
|
||||
@ -567,8 +569,8 @@
|
||||
<varname>Alias=</varname> apply only
|
||||
if the unit has actually been
|
||||
installed with the
|
||||
<command>systemd-install</command>
|
||||
tool. Also, if systemd searches for a
|
||||
<command>systemctl enable</command>
|
||||
command. Also, if systemd searches for a
|
||||
unit, it will discover symlinked alias
|
||||
names as configured with
|
||||
<varname>Alias=</varname>, but not
|
||||
@ -607,7 +609,7 @@
|
||||
installed. If the user requests
|
||||
installation of a unit with this
|
||||
option configured,
|
||||
<command>systemd-install</command>
|
||||
<command>systemctl enable</command>
|
||||
will automatically install units
|
||||
listed in this option as
|
||||
well.</para></listitem>
|
||||
@ -621,7 +623,6 @@
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
|
@ -448,9 +448,12 @@
|
||||
--variable=systemdsystemconfdir</command>
|
||||
returns the path of the system
|
||||
configuration directory. Packages
|
||||
should alter the content of these directories
|
||||
only with the
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
should alter the content of these
|
||||
directories only with the
|
||||
<command>enable</command> and
|
||||
<command>disable</command> commands of
|
||||
the
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
tool.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@ -469,11 +472,14 @@
|
||||
unit files in the directory returned
|
||||
by <command>pkg-config systemd
|
||||
--variable=systemdsessionunitdir</command>. Global
|
||||
configuration is done in the
|
||||
directory reported by
|
||||
<command>pkg-config systemd
|
||||
configuration is done in the directory
|
||||
reported by <command>pkg-config
|
||||
systemd
|
||||
--variable=systemdsessionconfdir</command>. The
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
<command>enable</command> and
|
||||
<command>disable</command> commands of
|
||||
the
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
tool can handle both global (i.e. for
|
||||
all users) and private (for one user)
|
||||
enabling/disabling of
|
||||
@ -923,7 +929,6 @@
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
||||
|
1165
src/install.c
1165
src/install.c
File diff suppressed because it is too large
Load Diff
905
src/systemctl.c
905
src/systemctl.c
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user