summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am11
-rw-r--r--man/systemd.special.xml325
-rw-r--r--man/systemd.unit.xml4
-rw-r--r--src/manager.h6
-rw-r--r--units/emergency.service2
-rw-r--r--units/local-fs.target2
-rw-r--r--units/network.target2
-rw-r--r--units/nss-lookup.target2
-rw-r--r--units/remote-fs.target2
-rw-r--r--units/rtc-set.target2
-rw-r--r--units/shutdown.target2
-rw-r--r--units/sigpwr.target2
-rw-r--r--units/sockets.target2
-rw-r--r--units/swap.target2
-rw-r--r--units/syslog.target.in2
-rw-r--r--units/systemd-initctl.service.in2
-rw-r--r--units/systemd-initctl.socket2
-rw-r--r--units/systemd-logger.service.in2
-rw-r--r--units/systemd-logger.socket2
20 files changed, 368 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore
index 4efd824796..700a085ad7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ systemctl
systemadm
.dirstamp
*.5
+*.7
*.html
*~
*.tar.gz
diff --git a/Makefile.am b/Makefile.am
index 780ded62fa..15da7b2439 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -156,18 +156,21 @@ EXTRA_DIST += \
dist_man_MANS = \
man/systemd.unit.5 \
- man/systemd.service.5
+ man/systemd.service.5 \
+ man/systemd.special.7
HTMLMANS = \
man/systemd.unit.html \
- man/systemd.service.html
+ man/systemd.service.html \
+ man/systemd.special.html
dist_noinst_DATA = \
$(HTMLMANS)
EXTRA_DIST += \
man/systemd.unit.xml \
- man/systemd.service.xml
+ man/systemd.service.xml \
+ man/systemd.special.xml
systemd_SOURCES = \
$(COMMON_SOURCES) \
@@ -297,7 +300,7 @@ CLEANFILES = \
units/syslog.target
if HAVE_XSLTPROC
-man/%.5: man/%.xml
+man/%.5 man/%.7: man/%.xml
$(MKDIR_P) man
$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
new file mode 100644
index 0000000000..3f9286d4b4
--- /dev/null
+++ b/man/systemd.special.xml
@@ -0,0 +1,325 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd.special">
+
+ <refentryinfo>
+ <title>systemd.special</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart@poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>systemd.special</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>systemd.special</refname>
+ <refpurpose>special systemd units</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>emergency.service</filename></para>
+ <para><filename>local-fs.target</filename></para>
+ <para><filename>network.target</filename></para>
+ <para><filename>nss-lookup.target</filename></para>
+ <para><filename>remote-fs.target</filename></para>
+ <para><filename>rpcbind.target</filename></para>
+ <para><filename>rtc-set.target</filename></para>
+ <para><filename>shutdown.target</filename></para>
+ <para><filename>sigpwr.target</filename></para>
+ <para><filename>sockets.target</filename></para>
+ <para><filename>swap.target</filename></para>
+ <para><filename>syslog.target</filename></para>
+ <para><filename>systemd-initctl.service</filename></para>
+ <para><filename>systemd-initctl.socket</filename></para>
+ <para><filename>systemd-logger.service</filename></para>
+ <para><filename>systemd-logger.socket</filename></para>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>A few units are treated specially by
+ systemd. They have special internal semantics and
+ cannot be renamed.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Special System Units</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>emergency.service</filename></term>
+ <listitem>
+ <para>A special service unit
+ that starts an emergency
+ shell on the main
+ console. This unit is supposed
+ to be used with the kernel
+ command line option
+ <varname>systemd.default=</varname>
+ and has otherwise little use.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>local-fs.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to all mount units that
+ refer to local mount
+ points. In addition, systemd
+ adds dependencies of type
+ Wants to those mounts listed
+ in
+ <filename>/etc/fstab</filename>
+ that have the
+ <literal>auto</literal> and
+ <literal>comment=systemd.mount</literal>
+ mount options set.</para>
+
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$local_fs</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>network.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$network</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>nss-lookup.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$named</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>remote-fs.target</filename></term>
+ <listitem>
+ <para>Similar to <filename>local-fs.target</filename>, but for remote mount points.</para>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$remote-fs</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>rpcbind.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$rpcbind</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>rtc-set.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$time</literal>
+ facility.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>shutdown.target</filename></term>
+ <listitem>
+ <para>A special target unit
+ that terminates the services
+ on system shutdown.</para>
+
+ <para>Services that shall be
+ terminated on system shutdown
+ shall add Wants dependencies
+ from this unit to their
+ service unit during
+ installation.</para>
+
+ <para>systemd automatically
+ adds dependencies of type
+ Conflicts to this target unit
+ for all SysV init scripts that
+ shall be terminated in SysV
+ runlevels 0 or 6.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>sigpwr.target</filename></term>
+ <listitem>
+ <para>A special target that is
+ started when systemd receives
+ the SIGPWR process signal,
+ which is normally sent by the
+ kernel or UPS daemons when the
+ power fails.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>sockets.target</filename></term>
+ <listitem>
+ <para>A special target unit
+ that sets up all service
+ sockets.</para>
+
+ <para>Services that can be
+ socket-activated shall add
+ Wants dependencies from this
+ unit to their socket unit
+ during installation.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>swap.target</filename></term>
+ <listitem>
+ <para>Similar to
+ <filename>local-fs.target</filename>, but for swap
+ partitions and swap
+ files.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>syslog.target</filename></term>
+ <listitem>
+ <para>systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ <literal>$syslog</literal>
+ facility.</para>
+
+ <para>Administrators should
+ ensure that this target pulls
+ in a service unit with the
+ name or alias of
+ <filename>@SPECIAL_SYSLOG_NAME@</filename> (or a
+ socket unit that activates
+ this service).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>systemd-initctl.service</filename></term>
+ <listitem>
+ <para>This provides
+ compatibility with the SysV
+ /dev/initctl file system FIFO
+ for communication with the
+ init system.</para>
+ <para>This is a
+ socket-activated service, see
+ <filename>system-initctl.socket</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>systemd-initctl.socket</filename></term>
+ <listitem>
+ <para>Socket activation unit
+ for
+ <filename>system-initctl.service</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>systemd-logger.service</filename></term>
+ <listitem>
+ <para>This is used internally
+ by systemd to provide syslog
+ logging to started
+ processes.</para>
+ <para>This is a
+ socket-activated service, see
+ <filename>system-logger.socket</filename>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>systemd-logger.socket</filename></term>
+ <listitem>
+ <para>Socket activation unit
+ for
+ <filename>system-logger.service</filename>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Special Session Units</title>
+
+ <para>When systemd runs as a service instance, the
+ following special units are available, which have
+ similar definitions as their system counterparts:
+ <filename>local-fs.target</filename>,
+ <filename>remote-fs.target</filename>,
+ <filename>shutdown.target</filename>,
+ <filename>sockets.target</filename>,
+ <filename>swap.target</filename>.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index cfa1b09499..4f71ffda77 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -77,7 +77,7 @@
<variablelist>
<varlistentry>
- <term>Names=</term>
+ <term><varname>Names=</varname></term>
<listitem>
<para>Additional names for this unit. The names
listed here mus have the same suffix (i.e. type)
@@ -86,7 +86,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>Requires=</term>
+ <term><varname>Requires=</varname></term>
<listitem>
<para>Dependencies on other
units. If this units get
diff --git a/src/manager.h b/src/manager.h
index 424ce879af..78923003e2 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -97,10 +97,10 @@ struct Watch {
#define SPECIAL_SIGPWR_TARGET "sigpwr.target"
#define SPECIAL_CTRL_ALT_DEL_TARGET "ctrl-alt-del.target"
-#define SPECIAL_LOCAL_FS_TARGET "local-fs.target"
-#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target"
+#define SPECIAL_LOCAL_FS_TARGET "local-fs.target" /* LSB's $local_fs */
+#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
#define SPECIAL_SWAP_TARGET "swap.target"
-#define SPECIAL_NETWORK_TARGET "network.target"
+#define SPECIAL_NETWORK_TARGET "network.target" /* LSB's $network */
#define SPECIAL_NSS_LOOKUP_TARGET "nss-lookup.target" /* LSB's $named */
#define SPECIAL_RPCBIND_TARGET "rpcbind.target" /* LSB's $portmap */
#define SPECIAL_SYSLOG_TARGET "syslog.target" /* LSB's $syslog; Should pull in syslog.socket or syslog.service */
diff --git a/units/emergency.service b/units/emergency.service
index 13fca6fc60..6c4b870ec2 100644
--- a/units/emergency.service
+++ b/units/emergency.service
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Emergency Shell
diff --git a/units/local-fs.target b/units/local-fs.target
index 3e7124a709..81bff5a89d 100644
--- a/units/local-fs.target
+++ b/units/local-fs.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Local File Systems
diff --git a/units/network.target b/units/network.target
index cdb1b5eba6..a218c64633 100644
--- a/units/network.target
+++ b/units/network.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Network
diff --git a/units/nss-lookup.target b/units/nss-lookup.target
index d1ce0a7044..e8e659368a 100644
--- a/units/nss-lookup.target
+++ b/units/nss-lookup.target
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Name Lookups
Wants=network.target
diff --git a/units/remote-fs.target b/units/remote-fs.target
index 0ed324edce..177a773c90 100644
--- a/units/remote-fs.target
+++ b/units/remote-fs.target
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Remote File Systems
Requires=network.target
diff --git a/units/rtc-set.target b/units/rtc-set.target
index 626fa5a4a7..18c1ed35d8 100644
--- a/units/rtc-set.target
+++ b/units/rtc-set.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=RTC Set
diff --git a/units/shutdown.target b/units/shutdown.target
index 87b1be8a20..37dca44e9f 100644
--- a/units/shutdown.target
+++ b/units/shutdown.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Shutdown
diff --git a/units/sigpwr.target b/units/sigpwr.target
index 36d4d24f8b..24f7d38dfe 100644
--- a/units/sigpwr.target
+++ b/units/sigpwr.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Power Failure
diff --git a/units/sockets.target b/units/sockets.target
index 10610303e0..00e698f457 100644
--- a/units/sockets.target
+++ b/units/sockets.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Sockets
diff --git a/units/swap.target b/units/swap.target
index aac5456195..4f6e193dbe 100644
--- a/units/swap.target
+++ b/units/swap.target
@@ -15,5 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Swap
diff --git a/units/syslog.target.in b/units/syslog.target.in
index bcd645305e..d21e7a72b2 100644
--- a/units/syslog.target.in
+++ b/units/syslog.target.in
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=Syslog
Requires=@SPECIAL_SYSLOG_SERVICE@
diff --git a/units/systemd-initctl.service.in b/units/systemd-initctl.service.in
index b6d5158f12..252a01429a 100644
--- a/units/systemd-initctl.service.in
+++ b/units/systemd-initctl.service.in
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=systemd /dev/initctl Compatibility Daemon
diff --git a/units/systemd-initctl.socket b/units/systemd-initctl.socket
index ff3dbacd30..acff32235d 100644
--- a/units/systemd-initctl.socket
+++ b/units/systemd-initctl.socket
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=systemd /dev/initctl Compatibility Socket
diff --git a/units/systemd-logger.service.in b/units/systemd-logger.service.in
index ba6fa47943..e4606ea70c 100644
--- a/units/systemd-logger.service.in
+++ b/units/systemd-logger.service.in
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=systemd Logging Daemon
diff --git a/units/systemd-logger.socket b/units/systemd-logger.socket
index a1d11e8a2d..8d02ab48ca 100644
--- a/units/systemd-logger.socket
+++ b/units/systemd-logger.socket
@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+# See systemd.special(7) for details
+
[Unit]
Description=systemd Logging Socket