chiark / gitweb /
execute: free syscall filter array after use
[elogind.git] / man / systemd.xml
index f434bfcc580bcebc2e33ded102d5a364c8d265c9..c598a896f099d351d764f46b85f35e0b3fff8aa3 100644 (file)
@@ -8,16 +8,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
@@ -45,7 +45,7 @@
         <refnamediv>
                 <refname>systemd</refname>
                 <refname>init</refname>
-                <refpurpose>systemd System and Session Manager</refpurpose>
+                <refpurpose>systemd system and service manager</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
@@ -60,7 +60,7 @@
         <refsect1>
                 <title>Description</title>
 
-                <para>systemd is a system and session manager for
+                <para>systemd is a system and service manager for
                 Linux operating systems. When run as first process on
                 boot (as PID 1), it acts as init system that brings
                 up and maintains userspace services.</para>
@@ -77,7 +77,7 @@
                 <para>When run as system instance, systemd interprets
                 the configuration file
                 <filename>system.conf</filename>, otherwise
-                <filename>session.conf</filename>. See
+                <filename>user.conf</filename>. See
                 <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 for more information.</para>
         </refsect1>
                         </varlistentry>
                         <varlistentry>
                                 <term><option>--system</option></term>
-                                <term><option>--session</option></term>
+                                <term><option>--user</option></term>
 
                                 <listitem><para>Tell systemd to run a
-                                system instance (resp. session
+                                system instance (resp. user
                                 instance), even if the process ID is
                                 not 1 (resp. is 1), i.e. systemd is
                                 not (resp. is) run as init process.
                         <varlistentry>
                                 <term><option>--dump-core</option></term>
 
-                                <listitem><para>Dump core on crash. This switch has no effect when run as session instance.</para></listitem>
+                                <listitem><para>Dump core on
+                                crash. This switch has no effect when
+                                run as user
+                                instance.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><option>--crash-shell</option></term>
 
-                                <listitem><para>Run shell on crash. This switch has no effect when run as session instance.</para></listitem>
+                                <listitem><para>Run shell on
+                                crash. This switch has no effect when
+                                run as user
+                                instance.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><option>--confirm-spawn</option></term>
 
-                                <listitem><para>Ask for confirmation when spawning processes. This switch has no effect when run as session instance.</para></listitem>
+                                <listitem><para>Ask for confirmation
+                                when spawning processes. This switch
+                                has no effect when run as user
+                                instance.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><option>--show-status=</option></term>
 
                                 <listitem><para>Show terse service
                                 status information while booting. This
-                                switch has no effect when run as
-                                session instance. Takes a boolean
-                                argument which may be omitted
-                                which is interpreted as
-                                <option>true</option>.</para></listitem>
-                        </varlistentry>
-                        <varlistentry>
-                                <term><option>--sysv-console=</option></term>
-
-                                <listitem><para>Controls whether
-                                output of SysV init scripts will be
-                                directed to the console. This switch
-                                has no effect when run as session
+                                switch has no effect when run as user
                                 instance. Takes a boolean argument
                                 which may be omitted which is
                                 interpreted as
                                 <listitem><para>Set log
                                 target. Argument must be one of
                                 <option>console</option>,
+                                <option>journal</option>,
                                 <option>syslog</option>,
                                 <option>kmsg</option>,
+                                <option>journal-or-kmsg</option>,
                                 <option>syslog-or-kmsg</option>,
                                 <option>null</option>.</para></listitem>
                         </varlistentry>
                                 it defaults to
                                 <option>true</option>.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><option>--default-standard-output=</option></term>
+                                <term><option>--default-standard-error=</option></term>
+
+                                <listitem><para>Sets the default
+                                output resp. error output for all
+                                services and sockets, i.e. controls
+                                the default for
+                                <option>StandardOutput=</option>
+                                resp. <option>StandardError=</option>
+                                (see
+                                <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                for details). Takes one of
+                                <option>inherit</option>,
+                                <option>null</option>,
+                                <option>tty</option>,
+                                <option>journal</option>,
+                                <option>journal+console</option>,
+                                <option>syslog</option>,
+                                <option>syslog+console</option>,
+                                <option>kmsg</option>,
+                                <option>kmsg+console</option>.  If the
+                                argument is omitted
+                                <option>--default-standard-output=</option>
+                                defaults to <option>journal</option>
+                                and
+                                <option>--default-standard-error=</option>
+                                to
+                                <option>inherit</option>.</para></listitem>
+                        </varlistentry>
                 </variablelist>
         </refsect1>
 
                 by systemd are covered by the <ulink
                 url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
                 Stability Promise</ulink>.</para>
+
+                <para>Units may be generated dynamically at boot and
+                system manager reload time, for example based on other
+                configuration files or parameters passed on the kernel
+                command line. For details see the <ulink
+                url="http://www.freedesktop.org/wiki/Software/systemd/Generators">Generators
+                Specification</ulink>.</para>
+
+                <para>Systems which invoke systemd in a container
+                resp. initrd environment should implement the
+                <ulink
+                url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container
+                Interface</ulink> resp. <ulink
+                url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd
+                Interface</ulink> specifications.</para>
         </refsect1>
 
         <refsect1>
                                 <command>pkg-config systemd
                                 --variable=systemdsystemunitdir</command>. Other
                                 directories checked are
-                                <filename>/usr/local/share/systemd/system</filename>
+                                <filename>/usr/local/lib/systemd/system</filename>
                                 and
-                                <filename>/usr/share/systemd/system</filename>. User
+                                <filename>/usr/lib/systemd/system</filename>. User
                                 configuration always takes
                                 precedence. <command>pkg-config
                                 systemd
 
                 <variablelist>
                         <varlistentry>
-                                <term>Session unit directories</term>
+                                <term>User unit directories</term>
 
                                 <listitem><para>Similar rules apply
-                                for the session unit
+                                for the user unit
                                 directories. However, here the <ulink
                                 url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
                                 Base Directory specification</ulink>
                                 units. Applications should place their
                                 unit files in the directory returned
                                 by <command>pkg-config systemd
-                                --variable=systemdsessionunitdir</command>. Global
+                                --variable=systemduserunitdir</command>. Global
                                 configuration is done in the directory
                                 reported by <command>pkg-config
                                 systemd
-                                --variable=systemdsessionconfdir</command>. The
+                                --variable=systemduserconfdir</command>. The
                                 <command>enable</command> and
                                 <command>disable</command> commands of
                                 the
                                 to <command>systemctl
                                 daemon-reexec</command>.</para>
 
-                                <para>systemd session managers will
+                                <para>systemd user managers will
                                 start the
                                 <filename>exit.target</filename> unit
                                 when this signal is received. This is
                                 mostly equivalent to
-                                <command>systemctl --session start
+                                <command>systemctl --user start
                                 exit.target</command>.</para></listitem>
                         </varlistentry>
 
                                 <command>systemctl start
                                 ctl-alt-del.target</command>.</para>
 
-                                <para>systemd session managers
+                                <para>systemd user managers
                                 treat this signal the same way as
                                 SIGTERM.</para></listitem>
                         </varlistentry>
                                 kbrequest.target</command>.</para>
 
                                 <para>This signal is ignored by
-                                systemd session
+                                systemd user
                                 managers.</para></listitem>
                         </varlistentry>
 
                                 <command>systemctl start
                                 reboot.target</command>.</para></listitem>
                         </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+6</term>
+
+                                <listitem><para>Reboots the machine via kexec,
+                                starts the
+                                <filename>kexec.target</filename>
+                                unit. This is mostly equivalent to
+                                <command>systemctl start
+                                kexec.target</command>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+13</term>
+
+                                <listitem><para>Immediately halts the machine.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+14</term>
+
+                                <listitem><para>Immediately powers off the machine.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+15</term>
+
+                                <listitem><para>Immediately reboots the machine.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+16</term>
+
+                                <listitem><para>Immediately reboots the machine with kexec.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+20</term>
+
+                                <listitem><para>Enables display of
+                                status messages on the console, as
+                                controlled via
+                                <varname>systemd.show_status=1</varname>
+                                on the kernel command
+                                line.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+21</term>
+
+                                <listitem><para>Disables display of
+                                status messages on the console, as
+                                controlled via
+                                <varname>systemd.show_status=0</varname>
+                                on the kernel command
+                                line.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+22</term>
+                                <term>SIGRTMIN+23</term>
+
+                                <listitem><para>Sets the log level to
+                                <literal>debug</literal>
+                                (resp. <literal>info</literal> on
+                                <literal>SIGRTMIN+23</literal>), as
+                                controlled via
+                                <varname>systemd.log_level=debug</varname>
+                                (resp. <varname>systemd.log_level=info</varname>
+                                on <literal>SIGRTMIN+23</literal>) on
+                                the kernel command
+                                line.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term>SIGRTMIN+26</term>
+                                <term>SIGRTMIN+27</term>
+                                <term>SIGRTMIN+28</term>
+                                <term>SIGRTMIN+29</term>
+
+                                <listitem><para>Sets the log level to
+                                <literal>journal-or-kmsg</literal>
+                                (resp. <literal>console</literal> on
+                                <literal>SIGRTMIN+27</literal>;
+                                resp. <literal>kmsg</literal> on
+                                <literal>SIGRTMIN+28</literal>;
+                                resp. <literal>syslog-or-kmsg</literal>
+                                on <literal>SIGRTMIN+29</literal>), as
+                                controlled via
+                                <varname>systemd.log_target=journal-or-kmsg</varname>
+                                (resp. <varname>systemd.log_target=console</varname>
+                                on <literal>SIGRTMIN+27</literal>;
+                                resp. <varname>systemd.log_target=kmsg</varname>
+                                on <literal>SIGRTMIN+28</literal>;
+                                resp
+                                <varname>systemd.log_target=syslog-or-kmsg</varname>
+                                on <literal>SIGRTMIN+29</literal>) on
+                                the kernel command
+                                line.</para></listitem>
+                        </varlistentry>
                 </variablelist>
         </refsect1>
 
                                 <term><varname>$XDG_DATA_HOME</varname></term>
                                 <term><varname>$XDG_DATA_DIRS</varname></term>
 
-                                <listitem><para>The systemd session
+                                <listitem><para>The systemd user
                                 manager uses these variables in
                                 accordance to the <ulink
                                 url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
         <refsect1>
                 <title>Kernel Command Line</title>
 
-                <para>When run as system instance systemd parses a few kernel command line arguments:</para>
+                <para>When run as system instance systemd parses a
+                number of kernel command line
+                arguments<footnote><para>If run inside a Linux
+                container these arguments may be passed as command
+                line arguments to systemd itself, next to any of the
+                command line options listed in the Options section
+                above. If run outside of Linux containers, these
+                arguments are parsed from
+                <filename>/proc/cmdline</filename>
+                instead.</para></footnote>:</para>
 
                 <variablelist>
                         <varlistentry>
                                 <term><varname>systemd.unit=</varname></term>
+                                <term><varname>rd.systemd.unit=</varname></term>
 
                                 <listitem><para>Overrides the unit to
                                 activate on boot. Defaults to
                                 <filename>rescue.target</filename> or
                                 <filename>emergency.service</filename>. See
                                 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
-                                for details about these
-                                units.</para></listitem>
+                                for details about these units. The
+                                option prefixed with
+                                <literal>rd.</literal> is honoured
+                                only in the initial RAM disk (initrd),
+                                while the one that isn't prefixed only
+                                in the main system.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 argument. If <option>true</option>
                                 shows terse service status updates on
                                 the console during bootup. Defaults to
-                                <option>true</option>.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><varname>systemd.sysv_console=</varname></term>
-
-                                <listitem><para>Takes a boolean
-                                argument. If <option>true</option>
-                                output of SysV init scripts will be
-                                directed to the console. Defaults to
                                 <option>true</option>, unless
                                 <option>quiet</option> is passed as
                                 kernel command line option in which
                                 environment variables described above.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>systemd.default_standard_output=</varname></term>
+                                <term><varname>systemd.default_standard_error=</varname></term>
+                                <listitem><para>Controls default
+                                standard output/error output for
+                                services, with the same effect as the
+                                <option>--default-standard-output=</option>
+                                resp. <option>--default-standard-error=</option>
+                                command line arguments described
+                                above.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>systemd.setenv=</varname></term>
+
+                                <listitem><para>Takes a string
+                                argument in the form
+                                VARIABLE=VALUE. May be used to set
+                                environment variables for the init
+                                process and all its children at boot
+                                time. May be used more than once to
+                                set multiple variables. If the equal
+                                sign and variable are missing unsets
+                                an environment variable which might be
+                                passed in from the initial ram
+                                disk.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>quiet</varname></term>
+
+                                <listitem><para>If passed turns off
+                                status output at boot, much like
+                                <varname>systemd.show_status=false</varname>
+                                would. Note that this option is also
+                                read by the kernel itself and disables
+                                kernel log output to the
+                                kernel. Passing this option hence
+                                turns off the usual output from both
+                                the system manager and the
+                                kernel.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>emergency</varname></term>
+
+                                <listitem><para>Boot into emergency
+                                mode. This is equivalent to
+                                <varname>systemd.unit=emergency.target</varname>
+                                and provided for compatibility
+                                reasons and to be easier to type.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>single</varname></term>
+                                <term><varname>s</varname></term>
+                                <term><varname>S</varname></term>
+                                <term><varname>1</varname></term>
+
+                                <listitem><para>Boot into rescue
+                                mode. This is equivalent to
+                                <varname>systemd.unit=rescue.target</varname>
+                                and provided for compatibility reasons
+                                and to be easier to
+                                type.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>2</varname></term>
+                                <term><varname>3</varname></term>
+                                <term><varname>4</varname></term>
+                                <term><varname>5</varname></term>
+
+                                <listitem><para>Boot into the
+                                specified legacy SysV runlevel. This
+                                is equivalent to
+                                <varname>systemd.unit=runlevel2.target</varname>,
+                                <varname>systemd.unit=runlevel3.target</varname>,
+                                <varname>systemd.unit=runlevel4.target</varname>,
+                                resp. <varname>systemd.unit=runlevel5.target</varname>
+                                and provided for compatibility reasons
+                                and to be easier to
+                                type.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>locale.LANG=</varname></term>
+                                <term><varname>locale.LANGUAGE=</varname></term>
+                                <term><varname>locale.LC_CTYPE=</varname></term>
+                                <term><varname>locale.LC_NUMERIC=</varname></term>
+                                <term><varname>locale.LC_TIME=</varname></term>
+                                <term><varname>locale.LC_COLLATE=</varname></term>
+                                <term><varname>locale.LC_MONETARY=</varname></term>
+                                <term><varname>locale.LC_MESSAGES=</varname></term>
+                                <term><varname>locale.LC_PAPER=</varname></term>
+                                <term><varname>locale.LC_NAME=</varname></term>
+                                <term><varname>locale.LC_ADDRESS=</varname></term>
+                                <term><varname>locale.LC_TELEPHONE=</varname></term>
+                                <term><varname>locale.LC_MEASUREMENT=</varname></term>
+                                <term><varname>locale.LC_IDENTIFICATION=</varname></term>
+
+                                <listitem><para>Set the system locale
+                                to use. This overrides the settings in
+                                <filename>/etc/locale.conf</filename>. For
+                                more information see
+                                <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                and
+                                <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+                                </para></listitem>
+                        </varlistentry>
                 </variablelist>
+
+                <para>For other kernel command line parameters
+                understood by components of the core OS, please refer
+                to
+                <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
         </refsect1>
 
         <refsect1>
 
                 <variablelist>
                         <varlistentry>
-                                <term><filename>@/org/freedesktop/systemd1/notify</filename></term>
+                                <term><filename>/run/systemd/notify</filename></term>
 
                                 <listitem><para>Daemon status
-                                notification socket. This is an AF_UNIX
-                                datagram socket in the Linux abstract
-                                namespace, and is used to implement
-                                the daemon notification logic as
-                                implemented by
+                                notification socket. This is an
+                                AF_UNIX datagram socket and is used to
+                                implement the daemon notification
+                                logic as implemented by
                                 <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
 
                         </varlistentry>
 
                         <varlistentry>
-                                <term><filename>@/org/freedesktop/systemd1/logger</filename></term>
-
-                                <listitem><para>Used internally by the
-                                <filename>systemd-logger.service</filename>
-                                unit to connect STDOUT and/or STDERR
-                                of spawned processes to
-                                <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
-                                or the kernel log buffer. This is an
-                                AF_UNIX stream socket in the Linux
-                                abstract namespace.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
-                                <term><filename>@/org/freedesktop/systemd1/shutdown</filename></term>
+                                <term><filename>/run/systemd/shutdownd</filename></term>
 
                                 <listitem><para>Used internally by the
                                 <citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                                 tool to implement delayed
                                 shutdowns. This is an AF_UNIX datagram
-                                socket in the Linux abstract
-                                namespace.</para></listitem>
+                                socket.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
-                                <term><filename>@/org/freedesktop/systemd1/private</filename></term>
+                                <term><filename>/run/systemd/private</filename></term>
 
                                 <listitem><para>Used internally as
                                 communication channel between
                                 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                                 and the systemd process. This is an
-                                AF_UNIX stream socket in the Linux
-                                abstract namespace. This interface is
-                                private to systemd and should not be
-                                used in external
+                                AF_UNIX stream socket. This interface
+                                is private to systemd and should not
+                                be used in external
                                 projects.</para></listitem>
                         </varlistentry>
 
         <refsect1>
                 <title>See Also</title>
                 <para>
+                        <citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemadm</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>,
+                        <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                 </para>
         </refsect1>