chiark / gitweb /
update fixme
[elogind.git] / man / systemd.xml
index 0798f231b93e84df1413924c677d26da20e12ffc..6edce4996a99ba76cb5f6bc03c70436954518d41 100644 (file)
                                 <filename>default.target</filename>.</para></listitem>
                         </varlistentry>
                         <varlistentry>
-                                <term><option>--running-as=</option></term>
-
-                                <listitem><para>Tell systemd to run in
-                                a particular mode. Argument is one of
-                                <option>system</option>,
-                                <option>session</option>. Normally it
-                                should not be necessary to pass this
-                                option, as systemd automatically
-                                detects the mode it is started
-                                in. This call is hence of little use
-                                except for
+                                <term><option>--system</option></term>
+                                <term><option>--session</option></term>
+
+                                <listitem><para>Tell systemd to run a
+                                system instance (resp. session
+                                instance), even if the process ID is
+                                not 1 (resp. is 1), i.e. systemd is not
+                                (resp. is) run as init process.
+                                Normally it should not be necessary to
+                                pass these options, as systemd
+                                automatically detects the mode it is
+                                started in. These options are hence of
+                                little use except for
                                 debugging.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <listitem><para>Ask for confirmation when spawning processes. This switch has no effect when run as session instance.</para></listitem>
                         </varlistentry>
                         <varlistentry>
-                                <term><option>--show-status</option></term>
+                                <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.</para></listitem>
+                                <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
+                                instance. Takes a boolean argument
+                                which may be omitted which is
+                                interpreted as
+                                <option>true</option>.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><option>--log-target=</option></term>
                 <para>systemd provides a dependency system between
                 various entities called "units". Units encapsulate
                 various objects that are relevant for system boot-up
-                and maintainance. The majority of units are configured
+                and maintenance. The majority of units are configured
                 in unit configuration files, whose syntax and basic
                 set of options is described in
                 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                 however some are created automatically from other
                 configuration or dynamically from system state. Units
-                may be active (meaning started, bound, plugged in, ...
-                depending on the unit type), or inactive (meaning
-                stopped, unbound, unplugged, ...), as well as in the
-                process of being activated or deactivated,
-                i.e. between the two states. The following unit types
-                are available:</para>
+                may be 'active' (meaning started, bound, plugged in,
+                ...  depending on the unit type, see below), or
+                'inactive' (meaning stopped, unbound, unplugged, ...),
+                as well as in the process of being activated or
+                deactivated, i.e. between the two states (these states
+                are called 'activating', 'deactivating'). A special
+                'maintenance' state is available as well which is very
+                similar to 'inactive' and is entered when the service
+                failed in some way (process returned error code on
+                exit, or crashed, or an operation timed out). If this
+                state is entered the cause will be logged, for later
+                reference. Note that the various unit types may have a
+                number of additional substates, which are mapped to
+                the five generalized unit states described
+                here.</para>
+
+                <para>The following unit types are available:</para>
 
                 <orderedlist>
                         <listitem><para>Service units, which control
                         systemd units, which later may be restored by
                         activating the saved snapshot unit. For more
                         information see
-                        <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
+                        <citerefentry><refentrytitle>systemd.snapshot</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
 
                         <listitem><para>Timer units are useful for
                         triggering activation of other units based on
                 list you may find in
                 <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
 
+                <para>systemd knows various kinds of dependencies,
+                including positive and negative requirement
+                dependencies (i.e. <varname>Requires=</varname> and
+                <varname>Conflicts=</varname>) as well as ordering
+                dependencies (<varname>After=</varname> and
+                <varname>Before=</varname>). NB: ordering and
+                requirement dependencies are orthogonal. If only a
+                requirement dependency exists between two units
+                (e.g. <filename>foo.service</filename> requires
+                <filename>bar.service</filename>), but no ordering
+                dependency (e.g. <filename>foo.service</filename>
+                after <filename>bar.service</filename>) and both are
+                requested to start, they will be started in
+                parallel. It is a common pattern that both requirement
+                and ordering dependencies are placed between two
+                units. Also note that the majority of dependencies are
+                implicitly created and maintained by systemd. In most
+                cases it should be unnecessary to declare additional
+                dependencies manually, however it is possible to do
+                this.</para>
+
+                <para>Application programs and units (via
+                dependencies) may requests state changes of units. In
+                systemd, these requests are encapsulated as 'jobs' and
+                maintained in a job queue. Jobs may succeed or can
+                fail, their execution is ordered based on the ordering
+                dependencies of the units they have been scheduled
+                for.</para>
+
                 <para>On boot systemd activates the target unit
                 <filename>default.target</filename> whose job is to
                 activate on-boot services and other on-boot units by
                                 --variable=systemdsystemconfdir</command>
                                 returns the path of the system
                                 configuration directory. Packages
-                                should alter the content of these directories
-                                only with the
-                                <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                                should alter the content of these
+                                directories only with the
+                                <command>enable</command> and
+                                <command>disable</command> commands of
+                                the
+                                <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                                 tool.</para></listitem>
                         </varlistentry>
                 </variablelist>
                                 unit files in the directory returned
                                 by <command>pkg-config systemd
                                 --variable=systemdsessionunitdir</command>. Global
-                                configuration is done in the
-                                directory reported by
-                                <command>pkg-config systemd
+                                configuration is done in the directory
+                                reported by <command>pkg-config
+                                systemd
                                 --variable=systemdsessionconfdir</command>. The
-                                <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                                <command>enable</command> and
+                                <command>disable</command> commands of
+                                the
+                                <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                                 tool can handle both global (i.e. for
                                 all users) and private (for one user)
                                 enabling/disabling of
                                 when figuring out whether a service
                                 shall be enabled. Note that a service
                                 unit with a native unit configuration
-                                file can be started by activating it
+                                file cannot be started by activating it
                                 in the SysV runlevel link
                                 farm.</para></listitem>
                         </varlistentry>
                                 units.</para></listitem>
                         </varlistentry>
 
-                        <varlistentry>
-                                <term><varname>systemd.log_target=</varname></term>
-                                <term><varname>systemd.log_level=</varname></term>
-                                <term><varname>systemd.log_color=</varname></term>
-                                <term><varname>systemd.log_location=</varname></term>
-
-                                <listitem><para>Controls log output,
-                                with the same effect as the
-                                <varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname>
-                                environment variables described above.</para></listitem>
-                        </varlistentry>
-
                         <varlistentry>
                                 <term><varname>systemd.dump_core=</varname></term>
 
                                 <literal>-1</literal>.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>systemd.confirm_spawn=</varname></term>
+
+                                <listitem><para>Takes a boolean
+                                argument. If <option>true</option>
+                                asks for confirmation when spawning
+                                processes. Defaults to
+                                <option>false</option>.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>systemd.show_status=</varname></term>
 
                                 <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
+                                case it defaults to
+                                <option>false</option>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>systemd.log_target=</varname></term>
+                                <term><varname>systemd.log_level=</varname></term>
+                                <term><varname>systemd.log_color=</varname></term>
+                                <term><varname>systemd.log_location=</varname></term>
+
+                                <listitem><para>Controls log output,
+                                with the same effect as the
+                                <varname>$SYSTEMD_LOG_TARGET</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname>
+                                environment variables described above.</para></listitem>
+                        </varlistentry>
+
                 </variablelist>
         </refsect1>
 
                                 abstract namespace.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><filename>@/org/freedesktop/systemd1/shutdown</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>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><filename>@/org/freedesktop/systemd1/private</filename></term>
 
                 <para>
                         <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>systemd-install</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,