]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd.special.xml
Reindent man pages to 2ch
[thirdparty/systemd.git] / man / systemd.special.xml
CommitLineData
9f235308
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
798d3a52 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
9f235308
LP
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2010 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
9f235308
LP
13 (at your option) any later version.
14
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
5430f7f2 18 Lesser General Public License for more details.
9f235308 19
5430f7f2 20 You should have received a copy of the GNU Lesser General Public License
9f235308
LP
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
24<refentry id="systemd.special">
25
798d3a52
ZJS
26 <refentryinfo>
27 <title>systemd.special</title>
28 <productname>systemd</productname>
29
30 <authorgroup>
31 <author>
32 <contrib>Developer</contrib>
33 <firstname>Lennart</firstname>
34 <surname>Poettering</surname>
35 <email>lennart@poettering.net</email>
36 </author>
37 </authorgroup>
38 </refentryinfo>
39
40 <refmeta>
41 <refentrytitle>systemd.special</refentrytitle>
42 <manvolnum>7</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>systemd.special</refname>
47 <refpurpose>Special systemd units</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <para><filename>basic.target</filename>,
52 <filename>bluetooth.target</filename>,
53 <filename>ctrl-alt-del.target</filename>,
54 <filename>cryptsetup.target</filename>,
55 <filename>cryptsetup-pre.target</filename>,
56 <filename>dbus.service</filename>,
57 <filename>dbus.socket</filename>,
58 <filename>default.target</filename>,
59 <filename>display-manager.service</filename>,
60 <filename>emergency.target</filename>,
61 <filename>exit.target</filename>,
62 <filename>final.target</filename>,
63 <filename>getty.target</filename>,
64 <filename>graphical.target</filename>,
65 <filename>halt.target</filename>,
66 <filename>hibernate.target</filename>,
67 <filename>hybrid-sleep.target</filename>,
68 <filename>initrd-fs.target</filename>,
69 <filename>kbrequest.target</filename>,
70 <filename>kexec.target</filename>,
71 <filename>local-fs.target</filename>,
72 <filename>local-fs-pre.target</filename>,
73 <filename>multi-user.target</filename>,
74 <filename>network.target</filename>,
75 <filename>network-online.target</filename>,
76 <filename>network-pre.target</filename>,
77 <filename>nss-lookup.target</filename>,
78 <filename>nss-user-lookup.target</filename>,
79 <filename>paths.target</filename>,
80 <filename>poweroff.target</filename>,
81 <filename>printer.target</filename>,
82 <filename>reboot.target</filename>,
83 <filename>remote-fs.target</filename>,
84 <filename>remote-fs-pre.target</filename>,
85 <filename>rescue.target</filename>,
86 <filename>initrd-root-fs.target</filename>,
87 <filename>rpcbind.target</filename>,
88 <filename>runlevel2.target</filename>,
89 <filename>runlevel3.target</filename>,
90 <filename>runlevel4.target</filename>,
91 <filename>runlevel5.target</filename>,
92 <filename>shutdown.target</filename>,
93 <filename>sigpwr.target</filename>,
94 <filename>sleep.target</filename>,
95 <filename>smartcard.target</filename>,
96 <filename>sockets.target</filename>,
97 <filename>sound.target</filename>,
98 <filename>suspend.target</filename>,
99 <filename>swap.target</filename>,
100 <filename>sysinit.target</filename>,
101 <filename>syslog.socket</filename>,
102 <filename>system-update.target</filename>,
103 <filename>time-sync.target</filename>,
104 <filename>timers.target</filename>,
105 <filename>umount.target</filename>,
106 <filename>-.slice</filename>,
107 <filename>system.slice</filename>,
108 <filename>user.slice</filename>,
109 <filename>machine.slice</filename></para>
110 </refsynopsisdiv>
111
112 <refsect1>
113 <title>Description</title>
114
115 <para>A few units are treated specially by systemd. They have
116 special internal semantics and cannot be renamed.</para>
117 </refsect1>
118
119 <refsect1>
120 <title>Special System Units</title>
121
122 <variablelist>
123 <varlistentry>
124 <term><filename>basic.target</filename></term>
125 <listitem>
126 <para>A special target unit covering basic boot-up.</para>
127
128 <para>systemd automatically adds dependencies of the types
129 <varname>Requires=</varname> and <varname>After=</varname>
130 for this target unit to all services (except for those with
131 <varname>DefaultDependencies=no</varname>).</para>
132
133 <para>Usually this should pull-in all mount points, swap
134 devices, sockets, timers, and path units and other basic
135 initialization necessary for general purpose daemons.</para>
136 </listitem>
137 </varlistentry>
138 <varlistentry>
139 <term><filename>ctrl-alt-del.target</filename></term>
140 <listitem>
141 <para>systemd starts this target whenever Control+Alt+Del is
142 pressed on the console. Usually this should be aliased
143 (symlinked) to <filename>reboot.target</filename>.</para>
144 </listitem>
145 </varlistentry>
146 <varlistentry>
147 <term><filename>cryptsetup.target</filename></term>
148 <listitem>
149 <para>A target that pulls in setup services for all
150 encrypted block devices.</para>
151 </listitem>
152 </varlistentry>
153 <varlistentry>
154 <term><filename>dbus.service</filename></term>
155 <listitem>
156 <para>A special unit for the D-Bus bus daemon. As soon as
157 this service is fully started up systemd will connect to it
158 and register its service.</para>
159 </listitem>
160 </varlistentry>
161 <varlistentry>
162 <term><filename>dbus.socket</filename></term>
163 <listitem>
164 <para>A special unit for the D-Bus system bus socket. All
165 units with <varname>Type=dbus</varname> automatically gain a
166 dependency on this unit.</para>
167 </listitem>
168 </varlistentry>
169 <varlistentry>
170 <term><filename>default.target</filename></term>
171 <listitem>
172 <para>The default unit systemd starts at bootup. Usually
173 this should be aliased (symlinked) to
174 <filename>multi-user.target</filename> or
175 <filename>graphical.target</filename>.</para>
176
177 <para>The default unit systemd starts at bootup can be
178 overridden with the <varname>systemd.unit=</varname> kernel
179 command line option.</para>
180 </listitem>
181 </varlistentry>
182 <varlistentry>
183 <term><filename>display-manager.service</filename></term>
184 <listitem>
185 <para>The display manager service. Usually this should be
186 aliased (symlinked) to <filename>gdm.service</filename> or a
187 similar display manager service.</para>
188 </listitem>
189 </varlistentry>
190 <varlistentry>
191 <term><filename>emergency.target</filename></term>
192 <listitem>
193 <para>A special target unit that starts an emergency shell
194 on the main console. This unit is supposed to be used with
195 the kernel command line option
196 <varname>systemd.unit=</varname> and has otherwise little
197 use.
198 </para>
199 </listitem>
200 </varlistentry>
201 <varlistentry>
202 <term><filename>final.target</filename></term>
203 <listitem>
204 <para>A special target unit that is used during the shutdown
205 logic and may be used to pull in late services after all
206 normal services are already terminated and all mounts
207 unmounted.
208 </para>
209 </listitem>
210 </varlistentry>
211 <varlistentry>
212 <term><filename>getty.target</filename></term>
213 <listitem>
214 <para>A special target unit that pulls in statically
215 configured local TTY <filename>getty</filename> instances.
216 </para>
217 </listitem>
218 </varlistentry>
219 <varlistentry>
220 <term><filename>graphical.target</filename></term>
221 <listitem>
222 <para>A special target unit for setting up a graphical login
223 screen. This pulls in
224 <filename>multi-user.target</filename>.</para>
225
226 <para>Units that are needed for graphical logins shall add
227 <varname>Wants=</varname> dependencies for their unit to
228 this unit (or <filename>multi-user.target</filename>) during
229 installation. This is best configured via
230 <varname>WantedBy=graphical.target</varname> in the unit's
231 <literal>[Install]</literal> section.</para>
232 </listitem>
233 </varlistentry>
234 <varlistentry>
235 <term><filename>hibernate.target</filename></term>
236 <listitem>
237 <para>A special target unit for hibernating the system. This
238 pulls in <filename>sleep.target</filename>.</para>
239 </listitem>
240 </varlistentry>
241 <varlistentry>
242 <term><filename>hybrid-sleep.target</filename></term>
243 <listitem>
244 <para>A special target unit for hibernating and suspending
245 the system at the same time. This pulls in
246 <filename>sleep.target</filename>.</para>
247 </listitem>
248 </varlistentry>
249 <varlistentry>
250 <term><filename>halt.target</filename></term>
251 <listitem>
252 <para>A special target unit for shutting down and halting
253 the system. Note that this target is distinct from
254 <filename>poweroff.target</filename> in that it generally
255 really just halts the system rather than powering it
256 down.</para>
257
258 <para>Applications wanting to halt the system should start
259 this unit.</para>
260 </listitem>
261 </varlistentry>
262 <varlistentry>
263 <term><filename>initrd-fs.target</filename></term>
264 <listitem>
265 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
266 automatically adds dependencies of type
267 <varname>Before=</varname> to
268 <filename>sysroot-usr.mount</filename> and all mount points
269 found in <filename>/etc/fstab</filename> that have
270 <option>x-initrd.mount</option> and not have
271 <option>noauto</option> mount options set.</para>
272 </listitem>
273 </varlistentry>
274 <varlistentry>
275 <term><filename>kbrequest.target</filename></term>
276 <listitem>
277 <para>systemd starts this target whenever Alt+ArrowUp is
278 pressed on the console. This is a good candidate to be
279 aliased (symlinked) to
280 <filename>rescue.target</filename>.</para>
281 </listitem>
282 </varlistentry>
283 <varlistentry>
284 <term><filename>kexec.target</filename></term>
285 <listitem>
286 <para>A special target unit for shutting down and rebooting
287 the system via kexec.</para>
288
289 <para>Applications wanting to reboot the system with kexec
290 should start this unit.</para>
291 </listitem>
292 </varlistentry>
293 <varlistentry>
294 <term><filename>local-fs.target</filename></term>
295 <listitem>
296 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
297 automatically adds dependencies of type
298 <varname>Before=</varname> to all mount units that refer to
299 local mount points for this target unit. In addition, it
300 adds dependencies of type <varname>Wants=</varname> to this
301 target unit for those mounts listed in
302 <filename>/etc/fstab</filename> that have the
303 <option>auto</option> mount option set.</para>
304 </listitem>
305 </varlistentry>
306 <varlistentry>
307 <term><filename>multi-user.target</filename></term>
308 <listitem>
309 <para>A special target unit for setting up a multi-user
310 system (non-graphical). This is pulled in by
311 <filename>graphical.target</filename>.</para>
312
313 <para>Units that are needed for a multi-user system shall
314 add <varname>Wants=</varname> dependencies for their unit to
315 this unit during installation. This is best configured via
316 <varname>WantedBy=multi-user.target</varname> in the unit's
317 <literal>[Install]</literal> section.</para>
318 </listitem>
319 </varlistentry>
320 <varlistentry>
321 <term><filename>network-online.target</filename></term>
322 <listitem>
323 <para>Units that strictly require a configured network
324 connection should pull in
325 <filename>network-online.target</filename> (via a
326 <varname>Wants=</varname> type dependency) and order
327 themselves after it. This target unit is intended to pull in
328 a service that delays further execution until the network is
329 sufficiently set up. What precisely this requires is left to
330 the implementation of the network managing service.</para>
331
332 <para>Note the distinction between this unit and
333 <filename>network.target</filename>. This unit is an active
334 unit (i.e. pulled in by the consumer rather than the
335 provider of this functionality) and pulls in a service which
336 possibly adds substantial delays to further execution. In
337 contrast, <filename>network.target</filename> is a passive
338 unit (i.e. pulled in by the provider of the functionality,
339 rather than the consumer) that usually does not delay
340 execution much. Usually, <filename>network.target</filename>
341 is part of the boot of most systems, while
342 <filename>network-online.target</filename> is not, except
343 when at least one unit requires it. Also see <ulink
344 url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
345 Services After the Network is up</ulink> for more
346 information.</para>
347
348 <para>All mount units for remote network file systems
349 automatically pull in this unit, and order themselves after
350 it. Note that networking daemons that simply provide
351 functionality to other hosts generally do not need to pull
352 this in.</para>
353 </listitem>
354 </varlistentry>
355 <varlistentry>
356 <term><filename>paths.target</filename></term>
357 <listitem>
358 <para>A special target unit that sets up all path units (see
359 <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
360 for details) that shall be active after boot.</para>
361
362 <para>It is recommended that path units installed by
363 applications get pulled in via <varname>Wants=</varname>
364 dependencies from this unit. This is best configured via a
365 <varname>WantedBy=paths.target</varname> in the path unit's
366 <literal>[Install]</literal> section.</para>
367 </listitem>
368 </varlistentry>
369 <varlistentry>
370 <term><filename>poweroff.target</filename></term>
371 <listitem>
372 <para>A special target unit for shutting down and powering
373 off the system.</para>
374
375 <para>Applications wanting to power off the system should
376 start this unit.</para>
377
378 <para><filename>runlevel0.target</filename> is an alias for
379 this target unit, for compatibility with SysV.</para>
380 </listitem>
381 </varlistentry>
382 <varlistentry>
383 <term><filename>reboot.target</filename></term>
384 <listitem>
385 <para>A special target unit for shutting down and rebooting
386 the system.</para>
387
388 <para>Applications wanting to reboot the system should start
389 this unit.</para>
390
391 <para><filename>runlevel6.target</filename> is an alias for
392 this target unit, for compatibility with SysV.</para>
393 </listitem>
394 </varlistentry>
395 <varlistentry>
396 <term><filename>remote-fs.target</filename></term>
397 <listitem>
398 <para>Similar to <filename>local-fs.target</filename>, but
399 for remote mount points.</para>
400
401 <para>systemd automatically adds dependencies of type
402 <varname>After=</varname> for this target unit to all SysV
403 init script service units with an LSB header referring to
404 the <literal>$remote_fs</literal> facility.</para>
405 </listitem>
406 </varlistentry>
407 <varlistentry>
408 <term><filename>rescue.target</filename></term>
409 <listitem>
410 <para>A special target unit for setting up the base system
411 and a rescue shell.</para>
412
413 <para><filename>runlevel1.target</filename> is an alias for
414 this target unit, for compatibility with SysV.</para>
415 </listitem>
416 </varlistentry>
417 <varlistentry>
418 <term><filename>initrd-root-fs.target</filename></term>
419 <listitem>
420 <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
421 automatically adds dependencies of type
422 <varname>Before=</varname> to the
423 <filename>sysroot.mount</filename> unit, which is generated
424 from the kernel command line.
425 </para>
426 </listitem>
427 </varlistentry>
428 <varlistentry>
429 <term><filename>runlevel2.target</filename></term>
430 <term><filename>runlevel3.target</filename></term>
431 <term><filename>runlevel4.target</filename></term>
432 <term><filename>runlevel5.target</filename></term>
433 <listitem>
434 <para>These are targets that are called whenever the SysV
435 compatibility code asks for runlevel 2, 3, 4, 5,
436 respectively. It is a good idea to make this an alias for
437 (i.e. symlink to) <filename>multi-user.target</filename>
438 (for runlevel 2) or <filename>graphical.target</filename>
439 (the others).</para>
440 </listitem>
441 </varlistentry>
442 <varlistentry>
443 <term><filename>shutdown.target</filename></term>
444 <listitem>
445 <para>A special target unit that terminates the services on
446 system shutdown.</para>
447
448 <para>Services that shall be terminated on system shutdown
449 shall add <varname>Conflicts=</varname> dependencies to this
450 unit for their service unit, which is implicitly done when
451 <varname>DefaultDependencies=yes</varname> is set (the
452 default).</para>
453 </listitem>
454 </varlistentry>
455 <varlistentry>
456 <term><filename>sigpwr.target</filename></term>
457 <listitem>
458 <para>A special target that is started when systemd receives
459 the SIGPWR process signal, which is normally sent by the
460 kernel or UPS daemons when power fails.</para>
461 </listitem>
462 </varlistentry>
463 <varlistentry>
464 <term><filename>sleep.target</filename></term>
465 <listitem>
466 <para>A special target unit that is pulled in by
467 <filename>suspend.target</filename>,
468 <filename>hibernate.target</filename> and
469 <filename>hybrid-sleep.target</filename> and may be used to
470 hook units into the sleep state logic.</para>
471 </listitem>
472 </varlistentry>
473 <varlistentry>
474 <term><filename>sockets.target</filename></term>
475 <listitem>
476 <para>A special target unit that sets up all socket
477 units.(see
478 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
479 for details) that shall be active after boot.</para>
480
481 <para>Services that can be socket-activated shall add
482 <varname>Wants=</varname> dependencies to this unit for
483 their socket unit during installation. This is best
484 configured via a <varname>WantedBy=sockets.target</varname>
485 in the socket unit's <literal>[Install]</literal>
486 section.</para>
487 </listitem>
488 </varlistentry>
489 <varlistentry>
490 <term><filename>suspend.target</filename></term>
491 <listitem>
492 <para>A special target unit for suspending the system. This
493 pulls in <filename>sleep.target</filename>.</para>
494 </listitem>
495 </varlistentry>
496 <varlistentry>
497 <term><filename>swap.target</filename></term>
498 <listitem>
499 <para>Similar to <filename>local-fs.target</filename>, but
500 for swap partitions and swap files.</para>
501 </listitem>
502 </varlistentry>
503 <varlistentry>
504 <term><filename>sysinit.target</filename></term>
505 <listitem>
506 <para>A special target unit covering early boot-up
507 scripts.</para>
508 </listitem>
509 </varlistentry>
510 <varlistentry>
511 <term><filename>syslog.socket</filename></term>
512 <listitem>
513 <para>The socket unit syslog implementations should listen
514 on. All userspace log messages will be made available on
515 this socket. For more information about syslog integration,
516 please consult the <ulink
517 url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
518 Interface</ulink> document.</para>
519 </listitem>
520 </varlistentry>
521 <varlistentry>
522 <term><filename>system-update.target</filename></term>
523 <listitem>
524 <para>A special target unit that is used for off-line system
525 updates.
526 <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
527 will redirect the boot process to this target if
528 <filename>/system-update</filename> exists. For more
529 information see the <ulink
530 url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
531 Updates Specification</ulink>.</para>
532 </listitem>
533 </varlistentry>
534 <varlistentry>
535 <term><filename>timers.target</filename></term>
536 <listitem>
537 <para>A special target unit that sets up all timer units
538 (see
539 <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
540 for details) that shall be active after boot.</para>
541
542 <para>It is recommended that timer units installed by
543 applications get pulled in via <varname>Wants=</varname>
544 dependencies from this unit. This is best configured via
545 <varname>WantedBy=timers.target</varname> in the timer
546 unit's <literal>[Install]</literal> section.</para>
547 </listitem>
548 </varlistentry>
549 <varlistentry>
550 <term><filename>umount.target</filename></term>
551 <listitem>
552 <para>A special target unit that umounts all mount and
553 automount points on system shutdown.</para>
554
555 <para>Mounts that shall be unmounted on system shutdown
556 shall add Conflicts dependencies to this unit for their
557 mount unit, which is implicitly done when
558 <varname>DefaultDependencies=yes</varname> is set (the
559 default).</para>
560 </listitem>
561 </varlistentry>
562
563 </variablelist>
564 </refsect1>
565
566 <refsect1>
567 <title>Special System Units for Devices</title>
568
569 <para>Some target units are automatically pulled in as devices of
570 certain kinds show up in the system. These may be used to
571 automatically activate various services based on the specific type
572 of the available hardware.</para>
573
574 <variablelist>
575 <varlistentry>
576 <term><filename>bluetooth.target</filename></term>
577 <listitem>
578 <para>This target is started automatically as soon as a
579 Bluetooth controller is plugged in or becomes available at
580 boot.</para>
581
582 <para>This may be used to pull in Bluetooth management
583 daemons dynamically when Bluetooth hardware is found.</para>
584 </listitem>
585 </varlistentry>
586 <varlistentry>
587 <term><filename>printer.target</filename></term>
588 <listitem>
589 <para>This target is started automatically as soon as a
590 printer is plugged in or becomes available at boot.</para>
591
592 <para>This may be used to pull in printer management daemons
593 dynamically when printer hardware is found.</para>
594 </listitem>
595 </varlistentry>
596 <varlistentry>
597 <term><filename>smartcard.target</filename></term>
598 <listitem>
599 <para>This target is started automatically as soon as a
600 smartcard controller is plugged in or becomes available at
601 boot.</para>
602
603 <para>This may be used to pull in smartcard management
604 daemons dynamically when smartcard hardware is found.</para>
605 </listitem>
606 </varlistentry>
607 <varlistentry>
608 <term><filename>sound.target</filename></term>
609 <listitem>
610 <para>This target is started automatically as soon as a
611 sound card is plugged in or becomes available at
612 boot.</para>
613
614 <para>This may be used to pull in audio management daemons
615 dynamically when audio hardware is found.</para>
616 </listitem>
617 </varlistentry>
618 </variablelist>
619 </refsect1>
620
621 <refsect1>
622 <title>Special Passive System Units </title>
623
624 <para>A number of special system targets are defined that can be
625 used to properly order boot-up of optional services. These targets
626 are generally not part of the initial boot transaction, unless
627 they are explicitly pulled in by one of the implementing services.
628 Note specifically that these <emphasis>passive</emphasis> target
629 units are generally not pulled in by the consumer of a service,
630 but by the provider of the service. This means: a consuming
631 service should order itself after these targets (as appropriate),
632 but not pull it in. A providing service should order itself before
633 these targets (as appropriate) and pull it in (via a
634 <varname>Wants=</varname> type dependency).</para>
635
636 <para>Note that these passive units cannot be started manually,
637 i.e. <literal>systemctl start time-sync.target</literal> will fail
638 with an error. They can only be pulled in by dependency. This is
639 enforced since they exist for ordering purposes only and thus are
640 not useful as only unit within a transaction.</para>
641
642 <variablelist>
643 <varlistentry>
644 <term><filename>cryptsetup-pre.target</filename></term>
645 <listitem>
646 <para>This passive target unit may be pulled in by services
647 that want to run before any encrypted block device is set
648 up. All encrypted block devices are set up after this target
649 has been reached. Since the shutdown order is implicitly the
650 reverse start-up order between units, this target is
651 particularly useful to ensure that a service is shut down
652 only after all encrypted block devices are fully
653 stopped.</para>
654 </listitem>
655 </varlistentry>
656 <varlistentry>
657 <term><filename>local-fs-pre.target</filename></term>
658 <listitem>
659 <para>This target unit is
660 automatically ordered before
661 all local mount points marked
662 with <option>auto</option>
663 (see above). It can be used to
664 execute certain units before
665 all local mounts.</para>
666 </listitem>
667 </varlistentry>
668 <varlistentry>
669 <term><filename>network.target</filename></term>
670 <listitem>
671 <para>This unit is supposed to indicate when network
672 functionality is available, but it is only very weakly
673 defined what that is supposed to mean, with one exception:
674 at shutdown, a unit that is ordered after
675 <filename>network.target</filename> will be stopped before
676 the network -- to whatever level it might be set up then --
677 is shut down. It is hence useful when writing service files
678 that require network access on shutdown, which should order
679 themselves after this target, but not pull it in. Also see
680 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
681 Services After the Network is up</ulink> for more
682 information. Also see
683 <filename>network-online.target</filename> described
684 above.</para>
685
686 <para>systemd automatically adds dependencies of type
687 <varname>After=</varname> for this target unit to all SysV
688 init script service units with an LSB header referring to
689 the <literal>$network</literal> facility.</para>
690 </listitem>
691 </varlistentry>
692 <varlistentry>
693 <term><filename>network-pre.target</filename></term>
694 <listitem>
695 <para>This passive target unit may be pulled in by services
696 that want to run before any network is set up, for example
697 for the purpose of setting up a firewall. All network
698 management software orders itself after this target, but
699 does not pull it in.</para>
700 </listitem>
701 </varlistentry>
702 <varlistentry>
703 <term><filename>nss-lookup.target</filename></term>
704 <listitem>
705 <para>A target that should be used as synchronization point
706 for all host/network name service lookups. Note that this is
707 independent of user/group name lookups for which
708 <filename>nss-user-lookup.target</filename> should be used.
709 All services for which the availability of full host/network
710 name resolution is essential should be ordered after this
711 target, but not pull it in. systemd automatically adds
712 dependencies of type <varname>After=</varname> for this
713 target unit to all SysV init script service units with an
714 LSB header referring to the <literal>$named</literal>
715 facility.</para>
716 </listitem>
717 </varlistentry>
718 <varlistentry>
719 <term><filename>nss-user-lookup.target</filename></term>
720 <listitem>
721 <para>A target that should be used as synchronization point
722 for all user/group name service lookups. Note that this is
723 independent of host/network name lookups for which
724 <filename>nss-lookup.target</filename> should be used. All
725 services for which the availability of the full user/group
726 database is essential should be ordered after this target,
727 but not pull it in. Note that system users are always
728 resolvable, and hence do not require any special ordering
729 against this target.</para>
730 </listitem>
731 </varlistentry>
732 <varlistentry>
733 <term><filename>remote-fs-pre.target</filename></term>
734 <listitem>
735 <para>This target unit is automatically ordered before all
736 remote mount point units (see above). It can be used to run
737 certain units before the remote mounts are established. Note
738 that this unit is generally not part of the initial
739 transaction, unless the unit that wants to be ordered before
740 all remote mounts pulls it in via a
741 <varname>Wants=</varname> type dependency. If the unit wants
742 to be pulled in by the first remote mount showing up, it
743 should use <filename>network-online.target</filename> (see
744 above).</para>
745 </listitem>
746 </varlistentry>
747 <varlistentry>
748 <term><filename>rpcbind.target</filename></term>
749 <listitem>
750 <para>The portmapper/rpcbind pulls in this target and orders
751 itself before it, to indicate its availability. systemd
752 automatically adds dependencies of type
753 <varname>After=</varname> for this target unit to all SysV
754 init script service units with an LSB header referring to
755 the <literal>$portmap</literal> facility.</para>
756 </listitem>
757 </varlistentry>
758 <varlistentry>
759 <term><filename>time-sync.target</filename></term>
760 <listitem>
761 <para>Services responsible for synchronizing the system
762 clock from a remote source (such as NTP client
763 implementations) should pull in this target and order
764 themselves before it. All services where correct time is
765 essential should be ordered after this unit, but not pull it
766 in. systemd automatically adds dependencies of type
767 <varname>After=</varname> for this target unit to all SysV
768 init script service units with an LSB header referring to
769 the <literal>$time</literal> facility. </para>
770 </listitem>
771 </varlistentry>
772 </variablelist>
773 </refsect1>
774
775 <refsect1>
776 <title>Special User Units</title>
777
778 <para>When systemd runs as a user instance, the following special
779 units are available, which have similar definitions as their
780 system counterparts:
781 <filename>default.target</filename>,
782 <filename>shutdown.target</filename>,
783 <filename>sockets.target</filename>,
784 <filename>timers.target</filename>,
785 <filename>paths.target</filename>,
786 <filename>bluetooth.target</filename>,
787 <filename>printer.target</filename>,
788 <filename>smartcard.target</filename>,
789 <filename>sound.target</filename>.</para>
790
791 <para>In addition, the following special unit is understood only
792 when systemd runs as service instance:</para>
793
794 <variablelist>
795 <varlistentry>
796 <term><filename>exit.target</filename></term>
797 <listitem>
798 <para>A special service unit for shutting down the user
799 service manager.</para>
800
801 <para>Applications wanting to terminate the user service
802 manager should start this unit. If systemd receives
803 <constant>SIGTERM</constant> or <constant>SIGINT</constant>
804 when running as user service daemon, it will start this
805 unit.</para>
806
807 <para>Normally, this pulls in
808 <filename>shutdown.target</filename> which in turn should be
809 conflicted by all units that want to be shut down on user
810 service manager exit.</para>
811 </listitem>
812 </varlistentry>
813 </variablelist>
814 </refsect1>
815
816 <refsect1>
817 <title>Special Slice Units</title>
818
819 <para>There are four <literal>.slice</literal> units which form
820 the basis of the hierarchy for assignment of resources for
821 services, users, and virtual machines or containers.</para>
822
823 <variablelist>
824 <varlistentry>
825 <term><filename>-.slice</filename></term>
826 <listitem>
827 <para>The root slice is the root of the hierarchy. It
828 usually does not contain units directly, but may be used to
829 set defaults for the whole tree.</para>
830 </listitem>
831 </varlistentry>
832
833 <varlistentry>
834 <term><filename>system.slice</filename></term>
835 <listitem>
836 <para>By default, all services services started by
837 <command>systemd</command> are found in this slice.</para>
838 </listitem>
839 </varlistentry>
840
841 <varlistentry>
842 <term><filename>user.slice</filename></term>
843 <listitem>
844 <para>By default, all user processes and services started on
845 behalf of the user, including the per-user systemd instance
846 are found in this slice.</para>
847 </listitem>
848 </varlistentry>
849
850 <varlistentry>
851 <term><filename>machine.slice</filename></term>
852 <listitem>
853 <para>By default, all virtual machines and containers
854 registered with <command>systemd-machined</command> are
855 found in this slice.
856 </para>
857 </listitem>
858 </varlistentry>
859 </variablelist>
860 </refsect1>
861
862 <refsect1>
863 <title>See Also</title>
864 <para>
865 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
866 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
867 <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
868 <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
869 <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
870 <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
871 <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
872 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
873 </para>
874 </refsect1>
9f235308
LP
875
876</refentry>