1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6 This file is part of systemd.
8 Copyright 2010 Lennart Poettering
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
24 <refentry id="systemd.special">
27 <title>systemd.special</title>
28 <productname>systemd</productname>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
41 <refentrytitle>systemd.special</refentrytitle>
42 <manvolnum>7</manvolnum>
46 <refname>systemd.special</refname>
47 <refpurpose>special systemd units</refpurpose>
51 <para><filename>basic.target</filename>,
52 <filename>ctrl-alt-del.target</filename>,
53 <filename>default.target</filename>,
54 <filename>emergency.service</filename>,
55 <filename>graphical.target</filename>,
56 <filename>halt.target</filename>,
57 <filename>kbrequest.target</filename>,
58 <filename>local-fs.target</filename>,
59 <filename>multi-user.target</filename>,
60 <filename>network.target</filename>,
61 <filename>nss-lookup.target</filename>,
62 <filename>poweroff.target</filename>,
63 <filename>reboot.target</filename>,
64 <filename>remote-fs.target</filename>,
65 <filename>rescue.target</filename>,
66 <filename>rpcbind.target</filename>,
67 <filename>rtc-set.target</filename>,
68 <filename>runlevel0.target</filename>,
69 <filename>runlevel1.target</filename>,
70 <filename>runlevel2.target</filename>,
71 <filename>runlevel3.target</filename>,
72 <filename>runlevel4.target</filename>,
73 <filename>runlevel5.target</filename>,
74 <filename>runlevel6.target</filename>
75 <filename>shutdown.target</filename>,
76 <filename>sigpwr.target</filename>,
77 <filename>sockets.target</filename>,
78 <filename>swap.target</filename>,
79 <filename>syslog.target</filename>,
80 <filename>systemd-initctl.service</filename>,
81 <filename>systemd-initctl.socket</filename>,
82 <filename>systemd-logger.service</filename>,
83 <filename>systemd-logger.socket</filename></para>
87 <title>Description</title>
89 <para>A few units are treated specially by
90 systemd. They have special internal semantics and
91 cannot be renamed.</para>
95 <title>Special System Units</title>
99 <term><filename>basic.target</filename></term>
101 <para>A special target unit
102 covering early boot-up.</para>
103 <para>systemd automatically
104 adds dependencies of the types
105 Requires and After for this
106 target unit to all SysV
107 service units configured for
108 runlevel 1 to 5.</para>
109 <para>systemd automatically
110 adds dependencies of the types
111 Wants and After for all
112 SysV service units configured
113 for runlevels that are not 0
114 to 6 to this target unit.
115 This covers the special
116 boot-up runlevels some
117 distributions have, such as S
122 <term><filename>ctrl-alt-del.target</filename></term>
124 <para>systemd starts this
126 Control+Alt+Del is pressed on
127 the console. Usually this
128 should be aliased (symlinked)
130 <filename>reboot.target</filename>.</para>
134 <term><filename>default.target</filename></term>
136 <para>The default unit systemd
137 starts at bootup. Usually this
138 should be aliased (symlinked)
140 <filename>multi-user.target</filename>
142 <filename>graphical.target</filename>.</para>
143 <para>The default unit systemd
144 starts at bootup can be
146 <varname>systemd.default=</varname>
147 kernel command line option.</para>
151 <term><filename>emergency.service</filename></term>
153 <para>A special service unit
154 that starts an emergency
156 console. This unit is supposed
157 to be used with the kernel
159 <varname>systemd.default=</varname>
160 and has otherwise little use.
165 <term><filename>graphical.target</filename></term>
167 <para>A special target unit
168 for setting up a graphical
169 login screen. This pulls in
170 <filename>multi-user.target</filename>.</para>
172 <para>Units that are needed
173 for graphical login shall add
174 Wants dependencies for their
175 unit to this unit (or
176 <filename>multi-user.target</filename>)
177 during installation.</para>
181 <term><filename>halt.target</filename></term>
183 <para>A special target unit
184 for shutting down and halting the system.</para>
186 <para>Applications wanting to
187 halt the system should start
192 <term><filename>kbrequest.target</filename></term>
194 <para>systemd starts this
195 target whenever Alt+ArrowUp is
196 pressed on the console. This
197 is a good candidate to be
198 aliased (symlinked) to
199 <filename>rescue.target</filename>.</para>
203 <term><filename>local-fs.target</filename></term>
205 <para>systemd automatically
206 adds dependencies of type
207 After to all mount units that
208 refer to local mount points
209 for this target unit. In
210 addition, systemd adds
211 dependencies of type Wants to
212 this target unit for those
214 <filename>/etc/fstab</filename>
216 <literal>auto</literal> and
217 <literal>comment=systemd.mount</literal>
218 mount options set.</para>
220 <para>systemd automatically
221 adds dependencies of type
222 After for this target unit to
223 all SysV init script service
224 units with an LSB header
226 <literal>$local_fs</literal>
231 <term><filename>multi-user.target</filename></term>
233 <para>A special target unit
234 for setting up a multi-user
235 system (non-graphical). This
237 <filename>graphical.target</filename>.</para>
239 <para>Units that are needed
240 for a multi-user system shall
241 add Wants dependencies to
242 this unit for their unit during
247 <term><filename>network.target</filename></term>
249 <para>systemd automatically
250 adds dependencies of type
251 After for this target unit to
252 all SysV init script service
253 units with an LSB header
255 <literal>$network</literal>
260 <term><filename>nss-lookup.target</filename></term>
262 <para>systemd automatically
263 adds dependencies of type
264 After for this target unit to
265 all SysV init script service
266 units with an LSB header
268 <literal>$named</literal>
273 <term><filename>poweroff.target</filename></term>
275 <para>A special target unit
276 for shutting down and powering off the system.</para>
278 <para>Applications wanting to
279 power off the system should start
282 <para><filename>runlevel0.target</filename>
283 is an alias for this target
284 unit, for compatibility with SysV.</para>
288 <term><filename>reboot.target</filename></term>
290 <para>A special target unit
291 for shutting down and rebooting the system.</para>
293 <para>Applications wanting to
294 reboot the system should start
297 <para><filename>runlevel6.target</filename>
298 is an alias for this target
299 unit, for compatibility with SysV.</para>
303 <term><filename>remote-fs.target</filename></term>
306 <filename>local-fs.target</filename>,
310 <para>systemd automatically
311 adds dependencies of type
312 After for this target unit to
313 all SysV init script service
314 units with an LSB header
316 <literal>$remote-fs</literal>
321 <term><filename>rescue.target</filename></term>
323 <para>A special target unit
324 for setting up the base system
325 and a rescue shell.</para>
327 <para><filename>runlevel1.target</filename>
328 is an alias for this target
329 unit, for compatibility with SysV.</para>
333 <term><filename>rpcbind.target</filename></term>
335 <para>systemd automatically
336 adds dependencies of type
337 After for this target unit to
338 all SysV init script service
339 units with an LSB header
341 <literal>$rpcbind</literal>
346 <term><filename>rtc-set.target</filename></term>
348 <para>systemd automatically
349 adds dependencies of type
350 After for this target unit to
351 all SysV init script service
352 units with an LSB header
354 <literal>$time</literal>
359 <term><filename>runlevel0.target</filename></term>
361 <para>This is a target that is
362 called whever the SysV
363 compatibility code asks for
364 runlevel 0. This is an alias
366 <filename>poweroff.target</filename>,
367 for compatibility with
372 <term><filename>runlevel1.target</filename></term>
374 <para>This is a target that is
375 called whever the SysV
376 compatibility code asks for
377 runlevel 1. This is an alias
379 <filename>rescue.target</filename>,
380 for compatibility with
385 <term><filename>runlevel2.target</filename></term>
387 <para>This is a target that is
388 called whever the SysV
389 compatibility code asks for
390 runlevel 2. It is a good idea
391 to make this an alias for
393 <filename>multi-user.target</filename>.</para>
397 <term><filename>runlevel3.target</filename></term>
399 <para>This is a target that is
400 called whever the SysV
401 compatibility code asks for
402 runlevel 3. It is a good idea
403 to make this an alias for
405 <filename>multi-user.target</filename>
407 <filename>graphical.target</filename>.</para>
411 <term><filename>runlevel4.target</filename></term>
413 <para>This is a target that is
414 called whever the SysV
415 compatibility code asks for
416 runlevel 4. It is a good idea
417 to make this an alias for
419 <filename>multi-user.target</filename>
421 <filename>graphical.target</filename>.</para>
425 <term><filename>runlevel5.target</filename></term>
427 <para>This is a target that is
428 called whever the SysV
429 compatibility code asks for
430 runlevel 5. It is a good idea
431 to make this an alias for
433 <filename>multi-user.target</filename>
435 <filename>graphical.target</filename>.</para>
439 <term><filename>runlevel6.target</filename></term>
441 <para>This is a target that is
442 called whever the SysV
443 compatibility code asks for
444 runlevel 6. This is an alias
446 <filename>reboot.target</filename>,
447 for compatibility with
452 <term><filename>shutdown.target</filename></term>
454 <para>A special target unit
455 that terminates the services
456 on system shutdown.</para>
458 <para>Services that shall be
459 terminated on system shutdown
461 dependencies to this unit for
462 their service unit during
465 <para>systemd automatically
466 adds dependencies of type
467 Conflicts to this target unit
468 for all SysV init script
469 service units that shall be
470 terminated in SysV runlevels 0
475 <term><filename>sigpwr.target</filename></term>
477 <para>A special target that is
478 started when systemd receives
479 the SIGPWR process signal,
480 which is normally sent by the
481 kernel or UPS daemons when
486 <term><filename>sockets.target</filename></term>
488 <para>A special target unit
489 that sets up all service
492 <para>Services that can be
493 socket-activated shall add
494 Wants dependencies to this
495 unit for their socket unit
496 during installation.</para>
500 <term><filename>swap.target</filename></term>
503 <filename>local-fs.target</filename>, but for swap
509 <term><filename>syslog.target</filename></term>
511 <para>systemd automatically
512 adds dependencies of type
513 After for this target unit to
514 all SysV init script service
515 units with an LSB header
517 <literal>$syslog</literal>
520 <para>Administrators should
521 ensure that this target pulls
522 in a service unit with the
524 <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
525 (or a socket unit that
531 <term><filename>systemd-initctl.service</filename></term>
534 compatibility with the SysV
535 /dev/initctl file system FIFO
536 for communication with the
539 socket-activated service, see
540 <filename>system-initctl.socket</filename>.</para>
544 <term><filename>systemd-initctl.socket</filename></term>
546 <para>Socket activation unit
548 <filename>system-initctl.service</filename>.</para>
552 <term><filename>systemd-logger.service</filename></term>
554 <para>This is internally used
555 by systemd to provide syslog
556 logging to the processes it
559 socket-activated service, see
560 <filename>system-logger.socket</filename>.</para>
564 <term><filename>systemd-logger.socket</filename></term>
566 <para>Socket activation unit
568 <filename>system-logger.service</filename>. systemd
569 will automatically add
570 dependencies of types Requires
571 and After to all units that
572 have been configured for
573 stdout or stderr to be
574 connected to syslog or the
575 kernel log buffer.</para>
582 <title>Special Session Units</title>
584 <para>When systemd runs as a service instance, the
585 following special units are available, which have
586 similar definitions as their system counterparts:
587 <filename>default.target</filename>,
588 <filename>local-fs.target</filename>,
589 <filename>remote-fs.target</filename>,
590 <filename>shutdown.target</filename>,
591 <filename>sockets.target</filename>,
592 <filename>swap.target</filename>.</para>
596 <title>See Also</title>
598 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
599 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
600 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
601 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>