systemd.xml revision 9749cd77bc6121a304a7f1eb0f03f26e620dc9da
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering This file is part of systemd.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering Copyright 2010 Lennart Poettering
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering systemd is free software; you can redistribute it and/or modify it
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering under the terms of the GNU Lesser General Public License as published by
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering (at your option) any later version.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering systemd is distributed in the hope that it will be useful, but
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering Lesser General Public License for more details.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering You should have received a copy of the GNU Lesser General Public License
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <refentryinfo>
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering </authorgroup>
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering </refentryinfo>
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering <refpurpose>systemd system and service manager</refpurpose>
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering <refsynopsisdiv>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </cmdsynopsis>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </cmdsynopsis>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </refsynopsisdiv>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <para>systemd is a system and service manager for
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering Linux operating systems. When run as first process on
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering boot (as PID 1), it acts as init system that brings
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering up and maintains userspace services.</para>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <para>For compatibility with SysV, if systemd is called
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering as <command>init</command> and a PID that is not
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering 1, it will execute <command>telinit</command> and pass
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering all command line arguments unmodified. That means
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <command>init</command> and <command>telinit</command>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering are mostly equivalent when invoked from normal login sessions. See
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering for more information.</para>
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering <para>When run as system instance, systemd interprets
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering the configuration file
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering <filename>system.conf</filename>, otherwise
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
821b2e792159e237a1e5a1ea4bb6ae2e55d64be5Lukas Nykryn for more information.</para>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <para>The following options are understood:</para>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <variablelist>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering sequence, dump it and exit. This is an
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering option useful for debugging
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering </varlistentry>
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <term><option>--dump-configuration-items</option></term>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering configuration items. This outputs a
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering terse but complete list of
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering configuration items understood in unit
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering interface introspection data. This is
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering mostly useful at install time
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering to generate data suitable for the
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering D-Bus interfaces
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering repository. Optionally the interface
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt name for the introspection data may be
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt specified. If omitted, the
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering introspection data for all interfaces
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <varlistentry>
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt activate on startup. If not specified
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <filename>default.target</filename>.</para></listitem>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <listitem><para>For <option>--system</option>,
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering tell systemd to run a
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering system instance, even if the process ID is
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering not 1, i.e. systemd is not run as init process.
4c1fc3e404d648c70bd2f50ac50aeac6ece8872eDaniel Mack running a user instance even if the process
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt Normally it should not be necessary to
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering pass these options, as systemd
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering automatically detects the mode it is
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering started in. These options are hence of
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering little use except for debugging. Note
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering that it is not supported booting and
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering maintaining a full system with systemd
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering mode, but PID not 1. In practice,
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering passing <option>--system</option> explicitly is
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering only useful in conjunction with
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <option>--test</option>.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><option>--dump-core</option></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering crash. This switch has no effect when
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <term><option>--crash-shell</option></term>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering crash. This switch has no effect when
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <term><option>--confirm-spawn</option></term>
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering when spawning processes. This switch
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering has no effect when run as user
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering </varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <varlistentry>
1af7211984a8dba3c5ba40fae794c4c55f5e6bd3Lennart Poettering <term><option>--show-status=</option></term>
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering status information while booting. This
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering switch has no effect when run as user
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering instance. Takes a boolean argument
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering which may be omitted which is
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering interpreted as
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <term><option>--log-target=</option></term>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering target. Argument must be one of
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><option>--log-level=</option></term>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering argument this accepts a numerical log
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering level or the well-known <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering symbolic names (lowercase):
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <option>debug</option>.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering log messages. Argument is a boolean
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering value. If the argument is omitted it
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><option>--log-location=</option></term>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering in log messages. This is mostly
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering relevant for debugging
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt purposes. Argument is a boolean
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt value. If the argument is omitted
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering it defaults to
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <term><option>--default-standard-output=</option></term>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <term><option>--default-standard-error=</option></term>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers output or error output for all
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers services and sockets, respectively. That is, controls
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers the default for
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers for details). Takes one of
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers argument is omitted
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <option>--default-standard-error=</option>
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering <option>inherit</option>.</para></listitem>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </variablelist>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <para>systemd provides a dependency system between
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering various entities called "units". Units encapsulate
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering various objects that are relevant for system boot-up
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering and maintenance. The majority of units are configured
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering in unit configuration files, whose syntax and basic
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers set of options is described in
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering however some are created automatically from other
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering configuration or dynamically from system state. Units
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering may be 'active' (meaning started, bound, plugged in,
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering ... depending on the unit type, see below), or
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering 'inactive' (meaning stopped, unbound, unplugged, ...),
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering as well as in the process of being activated or
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering deactivated, i.e. between the two states (these states
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering are called 'activating', 'deactivating'). A special
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering 'failed' state is available as well which is very
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering similar to 'inactive' and is entered when the service
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering failed in some way (process returned error code on
e1427b138fbf7b7f13bb61187635b882be3ca2b2Michal Schmidt exit, or crashed, or an operation timed out). If this
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering state is entered the cause will be logged, for later
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering reference. Note that the various unit types may have a
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering number of additional substates, which are mapped to
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering the five generalized unit states described
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <para>The following unit types are available:</para>
a0b1209c4a59754f428894e0485413542da50014Zbigniew Jędrzejewski-Szmek <listitem><para>Service units, which control
a0b1209c4a59754f428894e0485413542da50014Zbigniew Jędrzejewski-Szmek daemons and the processes they consist of. For
a0b1209c4a59754f428894e0485413542da50014Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering encapsulate local IPC or network sockets in
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering the system, useful for socket-based
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering activation. For details about socket units see
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering for details on socket-based activation and
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering other forms of activation, see
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <listitem><para>Target units are useful to
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering group units, or provide well-known
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering synchronization points during boot-up, see
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers devices in systemd and may be used to
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers implement device-based activation. For details
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers points in the file system, for details see
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers automount capabilities, for on-demand mounting
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers of file systems as well as parallelized
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers boot-up. See
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers temporarily save the state of the set of
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers systemd units, which later may be restored by
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers activating the saved snapshot unit. For more
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers information see
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers triggering activation of other units based on
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers timers. You may find details in
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering <listitem><para>Swap units are very similar to
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering mount units and encapsulate memory swap
dacd6cee76a08331b8c8616c5f30f70ee49aa2f9Lennart Poettering partitions or files of the operating
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers system. They are described in <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers to activate other services when file system
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers objects change or are modified. See
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers </orderedlist>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <para>Units are named as their configuration
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers files. Some units have special semantics. A detailed
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers list is available in
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>systemd knows various kinds of dependencies,
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen including positive and negative requirement
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen dependencies (i.e. <varname>Requires=</varname> and
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <varname>Conflicts=</varname>) as well as ordering
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen requirement dependencies are orthogonal. If only a
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen requirement dependency exists between two units
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen (e.g. <filename>foo.service</filename> requires
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <filename>bar.service</filename>), but no ordering
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen dependency (e.g. <filename>foo.service</filename>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen after <filename>bar.service</filename>) and both are
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen requested to start, they will be started in
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen parallel. It is a common pattern that both requirement
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen and ordering dependencies are placed between two
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen units. Also note that the majority of dependencies are
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen implicitly created and maintained by systemd. In most
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen cases it should be unnecessary to declare additional
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen dependencies manually, however it is possible to do
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>Application programs and units (via
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen dependencies) may request state changes of units. In
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen systemd, these requests are encapsulated as 'jobs' and
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen maintained in a job queue. Jobs may succeed or can
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen fail, their execution is ordered based on the ordering
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen dependencies of the units they have been scheduled
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>On boot systemd activates the target unit
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <filename>default.target</filename> whose job is to
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen activate on-boot services and other on-boot units by
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen pulling them in via dependencies. Usually the unit
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen name is just an alias (symlink) for either
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen fully-featured boots into the UI) or
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <filename>multi-user.target</filename> (for limited
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen console-only boots for use in embedded or server
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen environments, or similar; a subset of
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen graphical.target). However it is at the discretion of
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen the administrator to configure it as an alias to any
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen other target unit. See
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen for details about these target units.</para>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>Processes systemd spawns are placed in
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen individual Linux control groups named after the unit
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen which they belong to in the private systemd
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen hierarchy. (see <ulink
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen url="http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen for more information about control groups, or short
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen "cgroups"). systemd uses this to effectively keep
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen track of processes. Control group information is
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen maintained in the kernel, and is accessible via the
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen file system hierarchy (beneath
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <filename>/sys/fs/cgroup/systemd/</filename>), or in tools
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen (<command>ps xawf -eo pid,user,cgroup,args</command>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen is particularly useful to list all processes and the
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen systemd units they belong to.).</para>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>systemd is compatible with the SysV init system
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen to a large degree: SysV init scripts are supported and
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen simply read as an alternative (though limited)
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen configuration file format. The SysV
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <filename>/dev/initctl</filename> interface is
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen provided, and compatibility implementations of the
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen various SysV client tools are available. In addition to
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen that, various established Unix functionality such as
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen supported.</para>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen <para>systemd has a minimal transaction system: if a
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen unit is requested to start up or shut down it will add
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers it and all its dependencies to a temporary
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers transaction. Then, it will verify if the transaction
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers is consistent (i.e. whether the ordering of all units
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers is cycle-free). If it is not, systemd will try to fix
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers it up, and removes non-essential jobs from the
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers transaction that might remove the loop. Also, systemd
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers tries to suppress non-essential jobs in the
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers transaction that would stop a running service. Finally
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers it is checked whether the jobs of the transaction
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers contradict jobs that have already been queued, and
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers optionally the transaction is aborted then. If all
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers worked out and the transaction is consistent and
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers minimized in its impact it is merged with all already
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers outstanding jobs and added to the run
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers queue. Effectively this means that before executing a
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers requested operation, systemd will verify that it makes
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers sense, fixing it if possible, and only failing if it
75f86906c52735c98dc0aa7e24b773edb42ee814Lennart Poettering really cannot work.</para>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <para>Systemd contains native implementations of
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers various tasks that need to be executed as part of the
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers boot process. For example, it sets the host name or
0b6b6787e3f0ae8906ce0212bd629edbe931b73dKay Sievers configures the loopback network device. It also sets
0b6b6787e3f0ae8906ce0212bd629edbe931b73dKay Sievers up and mounts various API file systems, such as
0b6b6787e3f0ae8906ce0212bd629edbe931b73dKay Sievers <para>For more information about the concepts and
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers ideas behind systemd please refer to the <ulink
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers url="http://0pointer.de/blog/projects/systemd.html">Original
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <para>Note that some but not all interfaces provided
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers by systemd are covered by the <ulink
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <para>Units may be generated dynamically at boot and
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers system manager reload time, for example based on other
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers configuration files or parameters passed on the kernel
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers command line. For details see the <ulink
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <para>Systems which invoke systemd in a container
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers or initrd environment should implement the
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container
e1427b138fbf7b7f13bb61187635b882be3ca2b2Michal Schmidt url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers Interface</ulink> specifications, respectively.</para>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <variablelist>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers manager reads unit configuration from
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers various directories. Packages that
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers want to install unit files shall place
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers them in the directory returned by
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <command>pkg-config systemd
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers --variable=systemdsystemunitdir</command>. Other
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers directories checked are
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <filename>/usr/local/lib/systemd/system</filename>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <filename>/usr/lib/systemd/system</filename>. User
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers configuration always takes
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers precedence. <command>pkg-config
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers --variable=systemdsystemconfdir</command>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers returns the path of the system
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers configuration directory. Packages
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers should alter the content of these
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers directories only with the
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers tool. Full list of directories is provided in
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers </varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers </variablelist>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <variablelist>
158df4b6a63c0d4e4f8de5210581619e7b693fb4Marius Thesing <varlistentry>
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen for the user unit
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers directories. However, here the <ulink
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers Base Directory specification</ulink>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers is followed to find
7a1494aa4e4a131d73e866cf1e7eb7b6e47dbab8Tom Gundersen units. Applications should place their
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers unit files in the directory returned
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering by <command>pkg-config systemd
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering --variable=systemduserunitdir</command>. Global
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek configuration is done in the directory
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek reported by <command>pkg-config
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering --variable=systemduserconfdir</command>. The
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers tool can handle both global (i.e. for
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering all users) and private (for one user)
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering units. Full list of directories is provided in
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </variablelist>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <variablelist>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek <term>SysV init scripts directory</term>
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek SysV init script directory varies
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek between distributions. If systemd
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek cannot find a native unit file for a
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek requested service, it will look for a
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek SysV init script of the same name
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek <filename>.service</filename> suffix
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </variablelist>
9c4495ca561624c2f0085507dd1288ed5f1247c5Tomasz Torcz <varlistentry>
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering <term>SysV runlevel link farm directory</term>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering SysV runlevel link farm directory
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering varies between distributions. systemd
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek will take the link farm into account
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering when figuring out whether a service
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering shall be enabled. Note that a service
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering unit with a native unit configuration
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering file cannot be started by activating it
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering in the SysV runlevel link
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering </variablelist>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <variablelist>
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering <varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering signal the systemd system manager
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering serializes its state, reexecutes
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering itself and deserializes the saved
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering state again. This is mostly equivalent
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering to <command>systemctl
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <para>systemd user managers will
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek when this signal is received. This is
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering mostly equivalent to
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <command>systemctl --user start
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
458a2f85e8ae08c534bf8d030fbeeb791893422bTom Gundersen signal the systemd system manager will
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <filename>ctrl-alt-del.target</filename> unit. This
458a2f85e8ae08c534bf8d030fbeeb791893422bTom Gundersen is mostly equivalent to
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek <command>systemctl start
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <para>systemd user managers
d2a623823f8d83c97c35fcd28f90e8cd59066f8aZbigniew Jędrzejewski-Szmek treat this signal the same way as
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
fa041593fe04b12ffd7e81d8b3598a7a6f313fb3Lennart Poettering received the systemd system manager
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering will start the
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering unit. This is mostly equivalent to
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <command>systemctl start
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <para>This signal is ignored by
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek received the systemd manager
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering unit. This is mostly equivalent to
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek <command>systemctl start
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek sigpwr.target</command>.</para></listitem>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering received the systemd manager will try
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering to reconnect to the D-Bus
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering received the systemd manager will log
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek its complete state in human readable
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering form. The data logged is the same as
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering printed by <command>systemctl
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering daemon configuration. This is mostly
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering equivalent to <command>systemctl
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering daemon-reload</command>.</para></listitem>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <listitem><para>Enters default mode, starts the
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering unit. This is mostly equivalent to
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <command>systemctl start
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering default.target</command>.</para></listitem>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering </varlistentry>
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering <varlistentry>
1ca208fb4f93e5869704af1812cbff7130a2fc03Zbigniew Jędrzejewski-Szmek <filename>rescue.target</filename>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering unit. This is mostly equivalent to
dd2c31bb04776ed8a9e9117028e987762f56c027Lennart Poettering <command>systemctl isolate
dd2c31bb04776ed8a9e9117028e987762f56c027Lennart Poettering rescue.target</command>.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
0238d4c660e732dd03ba0cdb54a29ec5870ee849Kay Sievers <varlistentry>
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering unit. This is mostly equivalent to
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering <command>systemctl isolate
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering emergency.service</command>.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers unit. This is mostly equivalent to
dd2c31bb04776ed8a9e9117028e987762f56c027Lennart Poettering <command>systemctl start
dd2c31bb04776ed8a9e9117028e987762f56c027Lennart Poettering </varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering unit. This is mostly equivalent to
0238d4c660e732dd03ba0cdb54a29ec5870ee849Kay Sievers <command>systemctl start
0238d4c660e732dd03ba0cdb54a29ec5870ee849Kay Sievers </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering unit. This is mostly equivalent to
2fc09a9cdd1ad25bc7c53a23d5301eb952e1ce3dDaniel Mack <command>systemctl start
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering unit. This is mostly equivalent to
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <command>systemctl start
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering kexec.target</command>.</para></listitem>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <listitem><para>Immediately halts the machine.</para></listitem>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <listitem><para>Immediately powers off the machine.</para></listitem>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers </varlistentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <listitem><para>Immediately reboots the machine.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <listitem><para>Immediately reboots the machine with kexec.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering status messages on the console, as
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering controlled via
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering on the kernel command
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering status messages on the console, as
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering controlled via
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering on the kernel command
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering </varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varlistentry>
c51cf05646a11c65daf65c1123c77efb068f4f7bZbigniew Jędrzejewski-Szmek <listitem><para>Sets the log level to
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering controlled via
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <varname>systemd.log_level=debug</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering (or <varname>systemd.log_level=info</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering the kernel command
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering manager (only available for --user
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering controlled via
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varname>systemd.log_target=journal-or-kmsg</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering (or <varname>systemd.log_target=console</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varname>systemd.log_target=kmsg</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varname>systemd.log_target=syslog-or-kmsg</varname>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering the kernel command
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </variablelist>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <variablelist class='environment-variables'>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering log level from this environment
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering variable. This can be overridden with
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <option>--log-level=</option>.</para></listitem>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <term><varname>$SYSTEMD_LOG_TARGET</varname></term>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering log target from this environment
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering variable. This can be overridden with
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <option>--log-target=</option>.</para></listitem>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <varlistentry>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <term><varname>$SYSTEMD_LOG_COLOR</varname></term>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering systemd highlights important log
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering messages. This can be overridden with
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering <option>--log-color=</option>.</para></listitem>
c6ba0c184d297a454baf387663668db77f79c1b5Lennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering systemd prints the code location along
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering with log messages. This can be
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering overridden with
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <option>--log-location=</option>.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
8086ffacdb1bfec5ec115d24626538bda6cc372eZbigniew Jędrzejewski-Szmek <term><varname>$XDG_CONFIG_HOME</varname></term>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <term><varname>$XDG_CONFIG_DIRS</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$XDG_DATA_HOME</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$XDG_DATA_DIRS</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering manager uses these variables in
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering accordance to the <ulink
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering Base Directory specification</ulink>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering to find its configuration.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$SYSTEMD_UNIT_PATH</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering looks for unit
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term>
9a5cb1371b6d8b0a04bd08665bcf9b06cb40c64cZbigniew Jędrzejewski-Szmek looks for SysV init scripts.</para></listitem>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term>
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt looks for SysV init script runlevel link
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$LISTEN_PID</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$LISTEN_FDS</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering supervised processes during
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering socket-based activation. See
cca1dfddd4ce4357113663532696488427cc54e4Lennart Poettering <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
59512f21d77d984cf1363fb0d1770218c5e17020Kay Sievers for more information.
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>$NOTIFY_SOCKET</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering supervised processes for status and
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering start-up completion notification. See
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering for more information.
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt </varlistentry>
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt </variablelist>
eafe88e34a0698d2f4ebb747ab4911e35d0dfe4cTobias Hunger <para>When run as system instance systemd parses a
eafe88e34a0698d2f4ebb747ab4911e35d0dfe4cTobias Hunger number of kernel command line
eafe88e34a0698d2f4ebb747ab4911e35d0dfe4cTobias Hunger arguments<footnote><para>If run inside a Linux
3db604b907323b8df0fc810216f6112056d26a02Lennart Poettering container these arguments may be passed as command
3db604b907323b8df0fc810216f6112056d26a02Lennart Poettering line arguments to systemd itself, next to any of the
61331eab0a53cd9b8446eab6d1ebf1a046d8efc1Lennart Poettering command line options listed in the Options section
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering above. If run outside of Linux containers, these
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering arguments are parsed from
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <variablelist class='kernel-commandline-options'>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>systemd.unit=</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>rd.systemd.unit=</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering activate on boot. Defaults to
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <filename>default.target</filename>. This
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering may be used to temporarily boot into a
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering different boot unit, for example
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <filename>emergency.service</filename>. See
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering for details about these units. The
75f86906c52735c98dc0aa7e24b773edb42ee814Lennart Poettering option prefixed with
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poettering only in the initial RAM disk (initrd),
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering while the one that isn't prefixed only
b5884878a2874447b2a9f07f324a7cd909d96d48Lennart Poettering </varlistentry>
da927ba997d68401563b927f92e6e40e021a8e5cMichal Schmidt <varlistentry>
1a14a53cfded6e78c6e8dfb73fdff0039971d642Lennart Poettering <term><varname>systemd.dump_core=</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering systemd dumps core when it
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering crashes. Otherwise no core dump is
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering created. Defaults to
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering </varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <varlistentry>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering <term><varname>systemd.crash_shell=</varname></term>
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering systemd spawns a shell when it
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering crashes. Otherwise no shell is
73b80ec2d999c45ce13f3e034704249d80829f7eLennart Poettering spawned. Defaults to
<varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname>
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>