X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.special.xml;h=863a029fe3bd74213de0eec931353e2164360092;hp=96befd5f5d2b172d98d3186c8e6835794aeee5bf;hb=86198b2788e56fd05959c2dce670d1646bf99bcd;hpb=49dbfa7b2b0bf3906704dac1eaeb4eba91056a19 diff --git a/man/systemd.special.xml b/man/systemd.special.xml index 96befd5f5..863a029fe 100644 --- a/man/systemd.special.xml +++ b/man/systemd.special.xml @@ -57,28 +57,31 @@ default.target, display-manager.service, emergency.target, - exit.service, - final.service, + exit.target, + final.target, getty.target, graphical.target, - hibernate.target, - http-daemon.target, halt.target, + hibernate.target, + hybrid-sleep.target, + initrd-fs.target, kbrequest.target, kexec.target, local-fs.target, local-fs-pre.target, - mail-transfer-agent.target, multi-user.target, network.target, + network-online.target, nss-lookup.target, nss-user-lookup.target, + paths.target, poweroff.target, printer.target, reboot.target, remote-fs.target, remote-fs-pre.target, rescue.target, + initrd-root-fs.target, rpcbind.target, runlevel2.target, runlevel3.target, @@ -93,11 +96,15 @@ suspend.target, swap.target, sysinit.target, - syslog.service, syslog.socket, - syslog.target, + system-update.target, time-sync.target, - umount.target + timers.target, + umount.target, + -.slice, + system.slice, + user.slice, + machine.slice @@ -116,32 +123,23 @@ basic.target A special target unit - covering early boot-up. + covering basic boot-up. systemd automatically adds dependencies of the types - Requires and After for this - target unit to all SysV - service units configured for - runlevel 1 to 5. - Usually this should pull-in - all sockets, mount points, - swap devices and other basic + Requires= + and After= + for this target unit to all + services (except for those + with + DefaultDependencies=no). + + Usually this should + pull-in all mount points, swap + devices, sockets, timers, and + path units and other basic initialization necessary for - the general purpose - daemons. Most normal daemons - should have dependencies of - type After and Requires on - this unit. - - - - bluetooth.target - - This target is started - automatically as soon as a - bluetooth controller is - plugged in or becomes - available at boot. + general purpose + daemons. @@ -169,7 +167,7 @@ dbus.service A special unit for the - D-Bus system bus. As soon as + D-Bus bus daemon. As soon as this service is fully started up systemd will connect to it and register its @@ -182,7 +180,7 @@ A special unit for the D-Bus system bus socket. All units with - Type=dbus + Type=dbus automatically gain a dependency on this unit. @@ -198,6 +196,7 @@ multi-user.target or graphical.target. + The default unit systemd starts at bootup can be overridden with the @@ -214,15 +213,6 @@ gdm.service or a similar display manager service. - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with a LSB header - referring to the - $x-display-manager - facility, for compatibility - with Debian. @@ -256,8 +246,10 @@ getty.target A special target unit - that pulls in all local TTY - getty instances. + that pulls in statically + configured local TTY + getty + instances. @@ -270,11 +262,17 @@ multi-user.target. Units that are needed - for graphical login shall add - Wants dependencies for their - unit to this unit (or + for graphical logins shall add + Wants= + dependencies for their unit to + this unit (or multi-user.target) - during installation. + during installation. This is + best configured via + WantedBy=graphical.target + in the unit's + [Install] + section. @@ -287,32 +285,48 @@ - http-daemon.target + hybrid-sleep.target - A target for pulling in - an HTTP server if there is - any. - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with a LSB header - referring to the - $httpd - facility. + A special target unit + for hibernating and suspending the + system at the same time. This pulls in + sleep.target. halt.target A special target unit - for shutting down and halting the system. + for shutting down and halting + the system. Note that this + target is distinct from + poweroff.target + in that it generally really + just halts the system rather + than powering it down. Applications wanting to halt the system should start this unit. + + initrd-fs.target + + systemd-fstab-generator3 + automatically adds + dependencies of type + Before= to + sysroot-usr.mount + and all mount points found in + /etc/fstab + that have the + and + + mount options set. + + + kbrequest.target @@ -338,64 +352,21 @@ local-fs.target - systemd automatically + systemd-fstab-generator3 + automatically adds + dependencies of type + Before= to + all mount units that refer to + local mount points for this + target unit. In addition, it adds dependencies of type - After to all mount units that - refer to local mount points - for this target unit. In - addition, systemd adds - dependencies of type Wants to + Wants= to this target unit for those mounts listed in /etc/fstab that have the - and - - mount options set. - - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $local_fs - facility. - - - - local-fs-pre.target - - This target unit is - automatically ordered before - all local mount points marked - with - (see above). It can be used to - execute certain units before - all local mounts. - - - - mail-transfer-agent.target - - The mail transfer agent - (MTA) service. Usually this - should pull-in all units - necessary for - sending/receiving mails on the - local host. - - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $mail-transfer-agent - or - $mail-transport-agent - facilities, for compatibility - with Debian. + mount + option set. @@ -409,57 +380,99 @@ Units that are needed for a multi-user system shall - add Wants dependencies to - this unit for their unit during - installation. - - - - network.target - - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $network - facility. + add Wants= + dependencies for their unit to + this unit during + installation. This is best + configured via + WantedBy=multi-user.target + in the unit's + [Install] + section. - nss-lookup.target + network-online.target - A target that should be - used as synchronization point - for all host/network name - service lookups. Note that - this is independent of - user/group name lookups for - which - nss-user-lookup.target - should be used. systemd - automatically adds - dependencies of type After for - this target unit to all SysV - init script service units with - an LSB header referring to the - $named - facility. - + Units that strictly + require a configured network + connection should pull in + network-online.target + (via a + Wants= type + dependency) and order + themselves after it. This + target unit is intended to + pull in a service that delays + further execution until the + network is sufficiently set + up. What precisely this + requires is left to the + implementation of the network + managing service. + + Note the distinction + between this unit and + network.target. This + unit is an active unit + (i.e. pulled in by the + consumer rather than the + provider of this + functionality) and pulls in a + service which possibly adds + substantial delays to further + execution. In contrast, + network.target + is a passive unit (i.e. pulled + in by the provider of the + functionality, rather than the + consumer) that usually does + not delay execution + much. Usually, + network.target + is part of the boot of most + systems, while + network-online.target + is not, except when at least + one unit requires it. Also see + Running + Services After the Network is + up for more + information. + + All mount units for + remote network file systems + automatically pull in this + unit, and order themselves + after it. Note that networking + daemons that simply provide + functionality to other hosts + generally do not need to pull + this in. + - nss-user-lookup.target + paths.target - A target that should be - used as synchronization point - for all user/group name - service lookups. Note that - this is independent of - host/network name lookups for - which - nss-lookup.target - should be used. + A special target unit + that sets up all path units + (see + systemd.path5 + for details) that shall be + active after boot. + + It is recommended that + path units installed by + applications get pulled in via + Wants= + dependencies from this + unit. This is best configured + via a + WantedBy=paths.target + in the path unit's + [Install] + section. @@ -477,16 +490,6 @@ unit, for compatibility with SysV. - - printer.target - - This target is started - automatically as soon as a - printer is plugged in or - becomes available at - boot. - - reboot.target @@ -512,26 +515,14 @@ systemd automatically adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the + After= for + this target unit to all SysV + init script service units with + an LSB header referring to the $remote_fs facility. - - remote-fs-pre.target - - This target unit is - automatically ordered before - all remote mount points marked - with - (see above). It can be used to - execute certain units before - all remote mounts. - - rescue.target @@ -545,70 +536,36 @@ - rpcbind.target + initrd-root-fs.target - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $rpcbind - facility. + systemd-fstab-generator3 + automatically adds + dependencies of type + Before= to + the + sysroot.mount + unit, which is generated from + the kernel command line. + runlevel2.target - - This is a target that is - called whenever the SysV - compatibility code asks for - runlevel 2. It is a good idea - to make this an alias for - (i.e. symlink to) - multi-user.target. - - - runlevel3.target - - This is a target that is - called whenever the SysV - compatibility code asks for - runlevel 3. It is a good idea - to make this an alias for - (i.e. symlink to) - multi-user.target - or - graphical.target. - - - runlevel4.target - - This is a target that is - called whenever the SysV - compatibility code asks for - runlevel 4. It is a good idea - to make this an alias for - (i.e. symlink to) - multi-user.target - or - graphical.target. - - - runlevel5.target - This is a target that is - called whenever the SysV + These are targets that + are called whenever the SysV compatibility code asks for - runlevel 5. It is a good idea - to make this an alias for + runlevel 2, 3, 4, 5, + respectively. It is a good + idea to make this an alias for (i.e. symlink to) multi-user.target - or - graphical.target. + (for runlevel 2) or + graphical.target + (the others). @@ -620,20 +577,12 @@ Services that shall be terminated on system shutdown - shall add Conflicts + shall add Conflicts= dependencies to this unit for their service unit, which is implicitly done when DefaultDependencies=yes is set (the default). - - systemd automatically - adds dependencies of type - Conflicts to this target unit - for all SysV init script - service units that shall be - terminated in SysV runlevels 0 - or 6. @@ -652,46 +601,36 @@ A special target unit that is pulled in by - suspend.target - and + suspend.target, hibernate.target + and + hybrid-sleep.target and may be used to hook units into the sleep state logic. - - smartcard.target - - This target is started - automatically as soon as a - smartcard controller is - plugged in or becomes - available at boot. - - sockets.target A special target unit - that sets up all service - sockets. + that sets up all socket + units.(see + systemd.socket5 + for details) that shall be + active after boot. Services that can be socket-activated shall add - Wants dependencies to this - unit for their socket unit - during installation. - - - - sound.target - - This target is started - automatically as soon as a - sound card is plugged in or - becomes available at - boot. + Wants= + dependencies to this unit for + their socket unit during + installation. This is best + configured via a + WantedBy=sockets.target + in the socket unit's + [Install] + section. @@ -717,64 +656,62 @@ A special target unit covering early boot-up scripts. - systemd automatically - adds dependencies of the types - Wants and After for all - SysV service units configured - for runlevels that are not 0 - to 6 to this target unit. - This covers the special - boot-up runlevels some - distributions have, such as S - or b. - - - - syslog.service - - The syslog service if - any. Implementations should - create a symlink from the - actual syslog implementation - to this generic name for - activating it. syslog.socket - The socket unit where + The socket unit syslog implementations should listen on. All userspace log messages will be made - available on this - socket. + available on this socket. For + more information about syslog + integration, please consult + the Syslog + Interface + document. - syslog.target + system-update.target - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $syslog - facility. + A special target unit + that is used for off-line + system updates. + systemd-system-update-generator8 + will redirect the boot process + to this target if + /system-update + exists. For more information + see the System + Updates + Specification. - time-sync.target + timers.target - systemd automatically - adds dependencies of type - After for this target unit to - all SysV init script service - units with an LSB header - referring to the - $time - facility. + A special target unit + that sets up all timer + units (see + systemd.timer5 + for details) that shall be + active after boot. + + It is recommended that + timer units installed by + applications get pulled in via + Wants= + dependencies from this + unit. This is best configured + via + WantedBy=timers.target + in the timer unit's + [Install] + section. @@ -795,6 +732,251 @@ is set (the default). + + + + + + Special System Units for Devices + + Some target units are automatically pulled in as + devices of certain kinds show up in the system. These + may be used to automatically activate various services + based on the specific type of the available + hardware. + + + + bluetooth.target + + This target is started + automatically as soon as a + Bluetooth controller is + plugged in or becomes + available at boot. + + This may be used to pull + in Bluetooth management + daemons dynamically when + Bluetooth hardware is + found. + + + + printer.target + + This target is started + automatically as soon as a + printer is plugged in or + becomes available at + boot. + + This may be used to pull + in printer management + daemons dynamically when + printer hardware is + found. + + + + smartcard.target + + This target is started + automatically as soon as a + smartcard controller is + plugged in or becomes + available at boot. + + This may be used to pull + in smartcard management + daemons dynamically when + smartcard hardware is + found. + + + + sound.target + + This target is started + automatically as soon as a + sound card is plugged in or + becomes available at + boot. + + This may be used to pull + in audio management daemons + dynamically when audio + hardware is found. + + + + + + + Special Passive System Units + + A number of special system targets are defined + that can be used to properly order boot-up of optional + services. These targets are generally not part of the + initial boot transaction, unless they are explicitly + pulled in by one of the implementing services. Note + specifically, that these passive + target units are generally not pulled in by the + consumer of a service, but by the provider of the + service. This means: a consuming service should order + itself after these targets (as appropriate), but not + pull it in. A providing service should order itself + before these targets (as appropriate) and pull it in + (via a Wants= type + dependency). + + Note that these passive units cannot be started + manually, i.e. systemctl start + time-sync.target will fail with an + error. They can only be pulled in by dependency. This + is enforced since they exist for ordering purposes + only and thus are not useful as only unit within a + transaction. + + + + local-fs-pre.target + + This target unit is + automatically ordered before + all local mount points marked + with + (see above). It can be used to + execute certain units before + all local mounts. + + + + network.target + + This unit is supposed to + indicate when network + functionality is available, + but it is only very weakly + defined what that is supposed + to mean, with one exception: + at shutdown, a unit that is + ordered after + network.target + will be stopped before the + network -- to whatever level + it might be set up then -- is + shut down. Also see Running + Services After the Network is + up for more + information. Also see + network-online.target + described above. + + systemd automatically + adds dependencies of type + After= for + this target unit to all SysV + init script service units with + an LSB header referring to the + $network + facility. + + + + + nss-lookup.target + + A target that should be + used as synchronization point + for all host/network name + service lookups. Note that + this is independent of + user/group name lookups for + which + nss-user-lookup.target + should be used. systemd + automatically adds + dependencies of type + After= for + this target unit to all SysV + init script service units with + an LSB header referring to the + $named + facility. + + + + nss-user-lookup.target + + A target that should be + used as synchronization point + for all user/group name + service lookups. Note that + this is independent of + host/network name lookups for + which + nss-lookup.target + should be used. + + + + remote-fs-pre.target + + This target unit is + automatically ordered before + all remote mount point units + (see above). It can be used to + run certain units before the + remote mounts are + established. Note that this + unit is generally not part of + the initial transaction, + unless the unit that wants to + be ordered before all remote + mounts pulls it in via a + Wants= type + dependency. If the unit wants + to be pulled in by the first + remote mount showing up, it + should use + network-online.target + (see above). + + Again, this target unit + is not + suitable for pulling in other + units, it is only useful for + ordering. + + + + rpcbind.target + + systemd automatically + adds dependencies of type + After= for + this target unit to all SysV + init script service units with + an LSB header referring to the + $portmap + facility. + + + + time-sync.target + + systemd automatically + adds dependencies of type + After= for + this target unit to all SysV + init script service units with + an LSB header referring to the + $time + facility. + + @@ -806,14 +988,20 @@ similar definitions as their system counterparts: default.target, shutdown.target, - sockets.target + sockets.target, + timers.target, + paths.target, + bluetooth.target, + printer.target, + smartcard.target, + sound.target. In addition the following special unit is understood only when systemd runs as service instance: - exit.service + exit.target A special service unit for shutting down the @@ -823,8 +1011,8 @@ terminate the user service manager should start this unit. If systemd receives - SIGTERM or SIGINT when running - as user service daemon it will + SIGTERM or SIGINT when running + as user service daemon, it will start this unit. Normally, this pulls in @@ -838,6 +1026,63 @@ + + Special Slice Units + + There are four .slice units + which form the basis of the hierarchy for assignment + of resources for services, users, and virtual machines + or containers. + + + + -.slice + + The root slice is the + root of the hierarchy. It + usually does not contain units + directly, but may be used to + set defaults for the whole + tree. + + + + + system.slice + + By default, all services + services started by + systemd are + found in this slice. + + + + + user.slice + + By default, all user + processes and services started + on behalf of the user, + including the per-user systemd + instance are found in this + slice. + + + + + machine.slice + + By defalt, all virtual + machines and containers + registered with + systemd-machined + are found in this slice. + + + + + + See Also @@ -845,7 +1090,10 @@ systemd.unit5, systemd.service5, systemd.socket5, - systemd.target5 + systemd.target5, + systemd.slice5, + bootup7, + systemd-fstab-generator8