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>display-manager.service</filename>,
55 <filename>emergency.service</filename>,
56 <filename>graphical.target</filename>,
57 <filename>halt.target</filename>,
58 <filename>kbrequest.target</filename>,
59 <filename>local-fs.target</filename>,
60 <filename>multi-user.target</filename>,
61 <filename>network.target</filename>,
62 <filename>nss-lookup.target</filename>,
63 <filename>poweroff.target</filename>,
64 <filename>reboot.target</filename>,
65 <filename>remote-fs.target</filename>,
66 <filename>rescue.target</filename>,
67 <filename>rpcbind.target</filename>,
68 <filename>rtc-set.target</filename>,
69 <filename>runlevel0.target</filename>,
70 <filename>runlevel1.target</filename>,
71 <filename>runlevel2.target</filename>,
72 <filename>runlevel3.target</filename>,
73 <filename>runlevel4.target</filename>,
74 <filename>runlevel5.target</filename>,
75 <filename>runlevel6.target</filename>
76 <filename>shutdown.target</filename>,
77 <filename>sigpwr.target</filename>,
78 <filename>sockets.target</filename>,
79 <filename>swap.target</filename>,
80 <filename>syslog.target</filename>,
81 <filename>systemd-initctl.service</filename>,
82 <filename>systemd-initctl.socket</filename>,
83 <filename>systemd-logger.service</filename>,
84 <filename>systemd-logger.socket</filename></para>
88 <title>Description</title>
90 <para>A few units are treated specially by
91 systemd. They have special internal semantics and
92 cannot be renamed.</para>
96 <title>Special System Units</title>
100 <term><filename>basic.target</filename></term>
102 <para>A special target unit
103 covering early boot-up.</para>
104 <para>systemd automatically
105 adds dependencies of the types
106 Requires and After for this
107 target unit to all SysV
108 service units configured for
109 runlevel 1 to 5.</para>
110 <para>systemd automatically
111 adds dependencies of the types
112 Wants and After for all
113 SysV service units configured
114 for runlevels that are not 0
115 to 6 to this target unit.
116 This covers the special
117 boot-up runlevels some
118 distributions have, such as S
123 <term><filename>ctrl-alt-del.target</filename></term>
125 <para>systemd starts this
127 Control+Alt+Del is pressed on
128 the console. Usually this
129 should be aliased (symlinked)
131 <filename>reboot.target</filename>.</para>
135 <term><filename>default.target</filename></term>
137 <para>The default unit systemd
138 starts at bootup. Usually this
139 should be aliased (symlinked)
141 <filename>multi-user.target</filename>
143 <filename>graphical.target</filename>.</para>
144 <para>The default unit systemd
145 starts at bootup can be
147 <varname>systemd.default=</varname>
148 kernel command line option.</para>
152 <term><filename>display-manager.service</filename></term>
154 <para>The display manager
155 service. Usually this should
156 be aliased (symlinked) to
157 <filename>gdm.service</filename>
158 or a similar display manager
160 <para>systemd automatically
161 adds dependencies of type
162 After for this target unit to
163 all SysV init script service
164 units with an LSB header
166 <literal>$x-display-manager</literal>
167 facility, for compatibility
172 <term><filename>emergency.service</filename></term>
174 <para>A special service unit
175 that starts an emergency
177 console. This unit is supposed
178 to be used with the kernel
180 <varname>systemd.default=</varname>
181 and has otherwise little use.
186 <term><filename>graphical.target</filename></term>
188 <para>A special target unit
189 for setting up a graphical
190 login screen. This pulls in
191 <filename>multi-user.target</filename>.</para>
193 <para>Units that are needed
194 for graphical login shall add
195 Wants dependencies for their
196 unit to this unit (or
197 <filename>multi-user.target</filename>)
198 during installation.</para>
202 <term><filename>halt.target</filename></term>
204 <para>A special target unit
205 for shutting down and halting the system.</para>
207 <para>Applications wanting to
208 halt the system should start
213 <term><filename>kbrequest.target</filename></term>
215 <para>systemd starts this
216 target whenever Alt+ArrowUp is
217 pressed on the console. This
218 is a good candidate to be
219 aliased (symlinked) to
220 <filename>rescue.target</filename>.</para>
224 <term><filename>local-fs.target</filename></term>
226 <para>systemd automatically
227 adds dependencies of type
228 After to all mount units that
229 refer to local mount points
230 for this target unit. In
231 addition, systemd adds
232 dependencies of type Wants to
233 this target unit for those
235 <filename>/etc/fstab</filename>
237 <literal>auto</literal> and
238 <literal>comment=systemd.mount</literal>
239 mount options set.</para>
241 <para>systemd automatically
242 adds dependencies of type
243 After for this target unit to
244 all SysV init script service
245 units with an LSB header
247 <literal>$local_fs</literal>
252 <term><filename>multi-user.target</filename></term>
254 <para>A special target unit
255 for setting up a multi-user
256 system (non-graphical). This
258 <filename>graphical.target</filename>.</para>
260 <para>Units that are needed
261 for a multi-user system shall
262 add Wants dependencies to
263 this unit for their unit during
268 <term><filename>network.target</filename></term>
270 <para>systemd automatically
271 adds dependencies of type
272 After for this target unit to
273 all SysV init script service
274 units with an LSB header
276 <literal>$network</literal>
281 <term><filename>nss-lookup.target</filename></term>
283 <para>systemd automatically
284 adds dependencies of type
285 After for this target unit to
286 all SysV init script service
287 units with an LSB header
289 <literal>$named</literal>
294 <term><filename>poweroff.target</filename></term>
296 <para>A special target unit
297 for shutting down and powering off the system.</para>
299 <para>Applications wanting to
300 power off the system should start
303 <para><filename>runlevel0.target</filename>
304 is an alias for this target
305 unit, for compatibility with SysV.</para>
309 <term><filename>reboot.target</filename></term>
311 <para>A special target unit
312 for shutting down and rebooting the system.</para>
314 <para>Applications wanting to
315 reboot the system should start
318 <para><filename>runlevel6.target</filename>
319 is an alias for this target
320 unit, for compatibility with SysV.</para>
324 <term><filename>remote-fs.target</filename></term>
327 <filename>local-fs.target</filename>,
331 <para>systemd automatically
332 adds dependencies of type
333 After for this target unit to
334 all SysV init script service
335 units with an LSB header
337 <literal>$remote_fs</literal>
342 <term><filename>rescue.target</filename></term>
344 <para>A special target unit
345 for setting up the base system
346 and a rescue shell.</para>
348 <para><filename>runlevel1.target</filename>
349 is an alias for this target
350 unit, for compatibility with SysV.</para>
354 <term><filename>rpcbind.target</filename></term>
356 <para>systemd automatically
357 adds dependencies of type
358 After for this target unit to
359 all SysV init script service
360 units with an LSB header
362 <literal>$rpcbind</literal>
367 <term><filename>rtc-set.target</filename></term>
369 <para>systemd automatically
370 adds dependencies of type
371 After for this target unit to
372 all SysV init script service
373 units with an LSB header
375 <literal>$time</literal>
380 <term><filename>runlevel0.target</filename></term>
382 <para>This is a target that is
383 called whever the SysV
384 compatibility code asks for
385 runlevel 0. This is an alias
387 <filename>poweroff.target</filename>,
388 for compatibility with
393 <term><filename>runlevel1.target</filename></term>
395 <para>This is a target that is
396 called whever the SysV
397 compatibility code asks for
398 runlevel 1. This is an alias
400 <filename>rescue.target</filename>,
401 for compatibility with
406 <term><filename>runlevel2.target</filename></term>
408 <para>This is a target that is
409 called whever the SysV
410 compatibility code asks for
411 runlevel 2. It is a good idea
412 to make this an alias for
414 <filename>multi-user.target</filename>.</para>
418 <term><filename>runlevel3.target</filename></term>
420 <para>This is a target that is
421 called whever the SysV
422 compatibility code asks for
423 runlevel 3. It is a good idea
424 to make this an alias for
426 <filename>multi-user.target</filename>
428 <filename>graphical.target</filename>.</para>
432 <term><filename>runlevel4.target</filename></term>
434 <para>This is a target that is
435 called whever the SysV
436 compatibility code asks for
437 runlevel 4. It is a good idea
438 to make this an alias for
440 <filename>multi-user.target</filename>
442 <filename>graphical.target</filename>.</para>
446 <term><filename>runlevel5.target</filename></term>
448 <para>This is a target that is
449 called whever the SysV
450 compatibility code asks for
451 runlevel 5. It is a good idea
452 to make this an alias for
454 <filename>multi-user.target</filename>
456 <filename>graphical.target</filename>.</para>
460 <term><filename>runlevel6.target</filename></term>
462 <para>This is a target that is
463 called whever the SysV
464 compatibility code asks for
465 runlevel 6. This is an alias
467 <filename>reboot.target</filename>,
468 for compatibility with
473 <term><filename>shutdown.target</filename></term>
475 <para>A special target unit
476 that terminates the services
477 on system shutdown.</para>
479 <para>Services that shall be
480 terminated on system shutdown
482 dependencies to this unit for
483 their service unit during
486 <para>systemd automatically
487 adds dependencies of type
488 Conflicts to this target unit
489 for all SysV init script
490 service units that shall be
491 terminated in SysV runlevels 0
496 <term><filename>sigpwr.target</filename></term>
498 <para>A special target that is
499 started when systemd receives
500 the SIGPWR process signal,
501 which is normally sent by the
502 kernel or UPS daemons when
507 <term><filename>sockets.target</filename></term>
509 <para>A special target unit
510 that sets up all service
513 <para>Services that can be
514 socket-activated shall add
515 Wants dependencies to this
516 unit for their socket unit
517 during installation.</para>
521 <term><filename>swap.target</filename></term>
524 <filename>local-fs.target</filename>, but for swap
530 <term><filename>syslog.target</filename></term>
532 <para>systemd automatically
533 adds dependencies of type
534 After for this target unit to
535 all SysV init script service
536 units with an LSB header
538 <literal>$syslog</literal>
541 <para>Administrators should
542 ensure that this target pulls
543 in a service unit with the
545 <filename>@SPECIAL_SYSLOG_SERVICE@</filename>
546 (or a socket unit that
552 <term><filename>systemd-initctl.service</filename></term>
555 compatibility with the SysV
556 /dev/initctl file system FIFO
557 for communication with the
560 socket-activated service, see
561 <filename>system-initctl.socket</filename>.</para>
565 <term><filename>systemd-initctl.socket</filename></term>
567 <para>Socket activation unit
569 <filename>system-initctl.service</filename>.</para>
573 <term><filename>systemd-logger.service</filename></term>
575 <para>This is internally used
576 by systemd to provide syslog
577 logging to the processes it
580 socket-activated service, see
581 <filename>system-logger.socket</filename>.</para>
585 <term><filename>systemd-logger.socket</filename></term>
587 <para>Socket activation unit
589 <filename>system-logger.service</filename>. systemd
590 will automatically add
591 dependencies of types Requires
592 and After to all units that
593 have been configured for
594 stdout or stderr to be
595 connected to syslog or the
596 kernel log buffer.</para>
603 <title>Special Session Units</title>
605 <para>When systemd runs as a service instance, the
606 following special units are available, which have
607 similar definitions as their system counterparts:
608 <filename>default.target</filename>,
609 <filename>local-fs.target</filename>,
610 <filename>remote-fs.target</filename>,
611 <filename>shutdown.target</filename>,
612 <filename>sockets.target</filename>,
613 <filename>swap.target</filename>.</para>
617 <title>See Also</title>
619 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
620 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
621 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
622 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>