From 9f23530860942a8f94b7c535ead80c38f02424b1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 16 May 2010 22:45:11 +0200 Subject: [PATCH] man: document a few special units --- .gitignore | 1 + Makefile.am | 11 +- man/systemd.special.xml | 325 +++++++++++++++++++++++++++++++ man/systemd.unit.xml | 4 +- src/manager.h | 6 +- units/emergency.service | 2 + units/local-fs.target | 2 + units/network.target | 2 + units/nss-lookup.target | 2 + units/remote-fs.target | 2 + units/rtc-set.target | 2 + units/shutdown.target | 2 + units/sigpwr.target | 2 + units/sockets.target | 2 + units/swap.target | 2 + units/syslog.target.in | 2 + units/systemd-initctl.service.in | 2 + units/systemd-initctl.socket | 2 + units/systemd-logger.service.in | 2 + units/systemd-logger.socket | 2 + 20 files changed, 368 insertions(+), 9 deletions(-) create mode 100644 man/systemd.special.xml diff --git a/.gitignore b/.gitignore index 4efd82479..700a085ad 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 780ded62f..15da7b243 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 000000000..3f9286d4b --- /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 cfa1b0949..4f71ffda7 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 424ce879a..78923003e 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 13fca6fc6..6c4b870ec 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 3e7124a70..81bff5a89 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 cdb1b5eba..a218c6463 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 d1ce0a704..e8e659368 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 0ed324edc..177a773c9 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 626fa5a4a..18c1ed35d 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 87b1be8a2..37dca44e9 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 36d4d24f8..24f7d38df 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 10610303e..00e698f45 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 aac545619..4f6e193db 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 bcd645305..d21e7a72b 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 b6d5158f1..252a01429 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 ff3dbacd3..acff32235 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 ba6fa4794..e4606ea70 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 a1d11e8a2..8d02ab48c 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