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 @@
+
+
+
+
+
+
+
+
+ systemd.special
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ systemd.special
+ 7
+
+
+
+ systemd.special
+ special systemd units
+
+
+
+ emergency.service
+ local-fs.target
+ network.target
+ nss-lookup.target
+ remote-fs.target
+ rpcbind.target
+ rtc-set.target
+ shutdown.target
+ sigpwr.target
+ sockets.target
+ swap.target
+ syslog.target
+ systemd-initctl.service
+ systemd-initctl.socket
+ systemd-logger.service
+ systemd-logger.socket
+
+
+
+ Description
+
+ A few units are treated specially by
+ systemd. They have special internal semantics and
+ cannot be renamed.
+
+
+
+ Special System Units
+
+
+
+ emergency.service
+
+ 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
+ systemd.default=
+ and has otherwise little use.
+
+
+
+
+ local-fs.target
+
+ 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
+ /etc/fstab
+ that have the
+ auto and
+ comment=systemd.mount
+ mount options set.
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $local_fs
+ facility.
+
+
+
+ network.target
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $network
+ facility.
+
+
+
+ nss-lookup.target
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $named
+ facility.
+
+
+
+ remote-fs.target
+
+ Similar to local-fs.target, but for remote mount points.
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $remote-fs
+ facility.
+
+
+
+ rpcbind.target
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $rpcbind
+ facility.
+
+
+
+ rtc-set.target
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $time
+ facility.
+
+
+
+ shutdown.target
+
+ A special target unit
+ that terminates the services
+ on system shutdown.
+
+ Services that shall be
+ terminated on system shutdown
+ shall add Wants dependencies
+ from this unit to their
+ service unit during
+ installation.
+
+ 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.
+
+
+
+ sigpwr.target
+
+ 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.
+
+
+
+ sockets.target
+
+ A special target unit
+ that sets up all service
+ sockets.
+
+ Services that can be
+ socket-activated shall add
+ Wants dependencies from this
+ unit to their socket unit
+ during installation.
+
+
+
+ swap.target
+
+ Similar to
+ local-fs.target, but for swap
+ partitions and swap
+ files.
+
+
+
+ syslog.target
+
+ systemd automatically
+ adds dependencies of type
+ After to this target unit for
+ all SysV init scripts with an
+ LSB header referring to the
+ $syslog
+ facility.
+
+ Administrators should
+ ensure that this target pulls
+ in a service unit with the
+ name or alias of
+ @SPECIAL_SYSLOG_NAME@ (or a
+ socket unit that activates
+ this service).
+
+
+
+ systemd-initctl.service
+
+ This provides
+ compatibility with the SysV
+ /dev/initctl file system FIFO
+ for communication with the
+ init system.
+ This is a
+ socket-activated service, see
+ system-initctl.socket.
+
+
+
+ systemd-initctl.socket
+
+ Socket activation unit
+ for
+ system-initctl.service.
+
+
+
+ systemd-logger.service
+
+ This is used internally
+ by systemd to provide syslog
+ logging to started
+ processes.
+ This is a
+ socket-activated service, see
+ system-logger.socket.
+
+
+
+ systemd-logger.socket
+
+ Socket activation unit
+ for
+ system-logger.service.
+
+
+
+
+
+
+ Special Session Units
+
+ When systemd runs as a service instance, the
+ following special units are available, which have
+ similar definitions as their system counterparts:
+ local-fs.target,
+ remote-fs.target,
+ shutdown.target,
+ sockets.target,
+ swap.target.
+
+
+
+ See Also
+
+ systemd.unit5
+ systemd.service5
+ systemd.socket5
+ systemd.target5
+
+
+
+
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 @@
- Names=
+ Names=
Additional names for this unit. The names
listed here mus have the same suffix (i.e. type)
@@ -86,7 +86,7 @@
- Requires=
+ Requires=
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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# 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 .
+# See systemd.special(7) for details
+
[Unit]
Description=systemd Logging Socket