systemd.special.html 60.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.special</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
  </style><a href="index.html">Index </a>·
  <a href="systemd.directives.html">Directives </a>·
  <a href="../python-systemd/index.html">Python </a>·
  <a href="../libudev/index.html">libudev </a>·
22
  <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 215</span><hr><div class="refentry"><a name="systemd.special"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.special — Special systemd units</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">basic.target</code>,
23 24 25
                <code class="filename">bluetooth.target</code>,
                <code class="filename">ctrl-alt-del.target</code>,
                <code class="filename">cryptsetup.target</code>,
26
                <code class="filename">cryptsetup-pre.target</code>,
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
                <code class="filename">dbus.service</code>,
                <code class="filename">dbus.socket</code>,
                <code class="filename">default.target</code>,
                <code class="filename">display-manager.service</code>,
                <code class="filename">emergency.target</code>,
                <code class="filename">exit.target</code>,
                <code class="filename">final.target</code>,
                <code class="filename">getty.target</code>,
                <code class="filename">graphical.target</code>,
                <code class="filename">halt.target</code>,
                <code class="filename">hibernate.target</code>,
                <code class="filename">hybrid-sleep.target</code>,
                <code class="filename">initrd-fs.target</code>,
                <code class="filename">kbrequest.target</code>,
                <code class="filename">kexec.target</code>,
                <code class="filename">local-fs.target</code>,
                <code class="filename">local-fs-pre.target</code>,
                <code class="filename">multi-user.target</code>,
                <code class="filename">network.target</code>,
                <code class="filename">network-online.target</code>,
47
                <code class="filename">network-pre.target</code>,
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
                <code class="filename">nss-lookup.target</code>,
                <code class="filename">nss-user-lookup.target</code>,
                <code class="filename">paths.target</code>,
                <code class="filename">poweroff.target</code>,
                <code class="filename">printer.target</code>,
                <code class="filename">reboot.target</code>,
                <code class="filename">remote-fs.target</code>,
                <code class="filename">remote-fs-pre.target</code>,
                <code class="filename">rescue.target</code>,
                <code class="filename">initrd-root-fs.target</code>,
                <code class="filename">rpcbind.target</code>,
                <code class="filename">runlevel2.target</code>,
                <code class="filename">runlevel3.target</code>,
                <code class="filename">runlevel4.target</code>,
                <code class="filename">runlevel5.target</code>,
                <code class="filename">shutdown.target</code>,
                <code class="filename">sigpwr.target</code>,
                <code class="filename">sleep.target</code>,
                <code class="filename">smartcard.target</code>,
                <code class="filename">sockets.target</code>,
                <code class="filename">sound.target</code>,
                <code class="filename">suspend.target</code>,
                <code class="filename">swap.target</code>,
                <code class="filename">sysinit.target</code>,
                <code class="filename">syslog.socket</code>,
                <code class="filename">system-update.target</code>,
                <code class="filename">time-sync.target</code>,
                <code class="filename">timers.target</code>,
76 77 78 79
                <code class="filename">umount.target</code>,
                <code class="filename">-.slice</code>,
                <code class="filename">system.slice</code>,
                <code class="filename">user.slice</code>,
80
                <code class="filename">machine.slice</code></p></div><div class="refsect1"><a name="idm214177962192"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>A few units are treated specially by
81
                systemd. They have special internal semantics and
82
                cannot be renamed.</p></div><div class="refsect1"><a name="idm214177960848"></a><h2 id="Special System Units">Special System Units<a class="headerlink" title="Permalink to this headline" href="#Special%20System%20Units"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="basic.target"><span class="term"><code class="filename">basic.target</code></span><a class="headerlink" title="Permalink to this term" href="#basic.target"></a></dt><dd><p>A special target unit
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
                                        covering basic boot-up.</p><p>systemd automatically
                                        adds dependencies of the types
                                        <code class="varname">Requires=</code>
                                        and <code class="varname">After=</code>
                                        for this target unit to all
                                        services (except for those
                                        with
                                        <code class="varname">DefaultDependencies=no</code>).</p><p>Usually this should
                                        pull-in all mount points, swap
                                        devices, sockets, timers, and
                                        path units and other basic
                                        initialization necessary for
                                        general purpose
                                        daemons.</p></dd><dt id="ctrl-alt-del.target"><span class="term"><code class="filename">ctrl-alt-del.target</code></span><a class="headerlink" title="Permalink to this term" href="#ctrl-alt-del.target"></a></dt><dd><p>systemd starts this
                                        target whenever
                                        Control+Alt+Del is pressed on
                                        the console. Usually this
                                        should be aliased (symlinked)
                                        to
                                        <code class="filename">reboot.target</code>.</p></dd><dt id="cryptsetup.target"><span class="term"><code class="filename">cryptsetup.target</code></span><a class="headerlink" title="Permalink to this term" href="#cryptsetup.target"></a></dt><dd><p>A target that pulls in
                                        setup services for all
                                        encrypted block
                                        devices.</p></dd><dt id="dbus.service"><span class="term"><code class="filename">dbus.service</code></span><a class="headerlink" title="Permalink to this term" href="#dbus.service"></a></dt><dd><p>A special unit for the
                                        D-Bus bus daemon. As soon as
                                        this service is fully started
                                        up systemd will connect to it
                                        and register its
                                        service.</p></dd><dt id="dbus.socket"><span class="term"><code class="filename">dbus.socket</code></span><a class="headerlink" title="Permalink to this term" href="#dbus.socket"></a></dt><dd><p>A special unit for the
                                        D-Bus system bus socket. All
                                        units with
                                        <code class="varname">Type=dbus</code>
                                        automatically gain a
                                        dependency on this
                                        unit.</p></dd><dt id="default.target"><span class="term"><code class="filename">default.target</code></span><a class="headerlink" title="Permalink to this term" href="#default.target"></a></dt><dd><p>The default unit systemd
                                        starts at bootup. Usually this
                                        should be aliased (symlinked)
                                        to
                                        <code class="filename">multi-user.target</code>
                                        or
                                        <code class="filename">graphical.target</code>.</p><p>The default unit systemd
                                        starts at bootup can be
                                        overridden with the
                                        <code class="varname">systemd.unit=</code>
                                        kernel command line option.</p></dd><dt id="display-manager.service"><span class="term"><code class="filename">display-manager.service</code></span><a class="headerlink" title="Permalink to this term" href="#display-manager.service"></a></dt><dd><p>The display manager
                                        service. Usually this should
                                        be aliased (symlinked) to
                                        <code class="filename">gdm.service</code>
                                        or a similar display manager
                                        service.</p></dd><dt id="emergency.target"><span class="term"><code class="filename">emergency.target</code></span><a class="headerlink" title="Permalink to this term" href="#emergency.target"></a></dt><dd><p>A special target unit
                                        that starts an emergency
                                        shell on the main
                                        console. This unit is supposed
                                        to be used with the kernel
                                        command line option
                                        <code class="varname">systemd.unit=</code>
                                        and has otherwise little use.
                                        </p></dd><dt id="final.target"><span class="term"><code class="filename">final.target</code></span><a class="headerlink" title="Permalink to this term" href="#final.target"></a></dt><dd><p>A special target unit
                                        that is used during the
                                        shutdown logic and may be used
                                        to pull in late services after
                                        all normal services are
                                        already terminated and all
                                        mounts unmounted.
                                        </p></dd><dt id="getty.target"><span class="term"><code class="filename">getty.target</code></span><a class="headerlink" title="Permalink to this term" href="#getty.target"></a></dt><dd><p>A special target unit
                                        that pulls in statically
                                        configured local TTY
                                        <code class="filename">getty</code>
                                        instances.
                                        </p></dd><dt id="graphical.target"><span class="term"><code class="filename">graphical.target</code></span><a class="headerlink" title="Permalink to this term" href="#graphical.target"></a></dt><dd><p>A special target unit
                                        for setting up a graphical
                                        login screen. This pulls in
                                        <code class="filename">multi-user.target</code>.</p><p>Units that are needed
                                        for graphical logins shall add
                                        <code class="varname">Wants=</code>
                                        dependencies for their unit to
                                        this unit (or
                                        <code class="filename">multi-user.target</code>)
                                        during installation. This is
                                        best configured via
                                        <code class="varname">WantedBy=graphical.target</code>
                                        in the unit's
164
                                        "<code class="literal">[Install]</code>"
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
                                        section.</p></dd><dt id="hibernate.target"><span class="term"><code class="filename">hibernate.target</code></span><a class="headerlink" title="Permalink to this term" href="#hibernate.target"></a></dt><dd><p>A special target unit
                                        for hibernating the
                                        system. This pulls in
                                        <code class="filename">sleep.target</code>.</p></dd><dt id="hybrid-sleep.target"><span class="term"><code class="filename">hybrid-sleep.target</code></span><a class="headerlink" title="Permalink to this term" href="#hybrid-sleep.target"></a></dt><dd><p>A special target unit
                                        for hibernating and suspending the
                                        system at the same time. This pulls in
                                        <code class="filename">sleep.target</code>.</p></dd><dt id="halt.target"><span class="term"><code class="filename">halt.target</code></span><a class="headerlink" title="Permalink to this term" href="#halt.target"></a></dt><dd><p>A special target unit
                                        for shutting down and halting
                                        the system. Note that this
                                        target is distinct from
                                        <code class="filename">poweroff.target</code>
                                        in that it generally really
                                        just halts the system rather
                                        than powering it down.</p><p>Applications wanting to
                                        halt the system should start
                                        this unit.</p></dd><dt id="initrd-fs.target"><span class="term"><code class="filename">initrd-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#initrd-fs.target"></a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
                                        automatically adds
                                        dependencies of type
                                        <code class="varname">Before=</code> to
                                        <code class="filename">sysroot-usr.mount</code>
185
                                        and all mount points found in
186
                                        <code class="filename">/etc/fstab</code>
187
                                        that have
188
                                        <code class="option">x-initrd.mount</code>
189 190
                                        and not have <code class="option">noauto</code>
                                        mount options set.</p></dd><dt id="kbrequest.target"><span class="term"><code class="filename">kbrequest.target</code></span><a class="headerlink" title="Permalink to this term" href="#kbrequest.target"></a></dt><dd><p>systemd starts this
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
                                        target whenever Alt+ArrowUp is
                                        pressed on the console. This
                                        is a good candidate to be
                                        aliased (symlinked) to
                                        <code class="filename">rescue.target</code>.</p></dd><dt id="kexec.target"><span class="term"><code class="filename">kexec.target</code></span><a class="headerlink" title="Permalink to this term" href="#kexec.target"></a></dt><dd><p>A special target unit
                                        for shutting down and rebooting the system via kexec.</p><p>Applications wanting to
                                        reboot the system with kexec should start
                                        this unit.</p></dd><dt id="local-fs.target"><span class="term"><code class="filename">local-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#local-fs.target"></a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
                                        automatically adds
                                        dependencies of type
                                        <code class="varname">Before=</code> to
                                        all mount units that refer to
                                        local mount points for this
                                        target unit. In addition, it
                                        adds dependencies of type
                                        <code class="varname">Wants=</code> to
                                        this target unit for those
                                        mounts listed in
                                        <code class="filename">/etc/fstab</code>
                                        that have the
                                        <code class="option">auto</code> mount
                                        option set.</p></dd><dt id="multi-user.target"><span class="term"><code class="filename">multi-user.target</code></span><a class="headerlink" title="Permalink to this term" href="#multi-user.target"></a></dt><dd><p>A special target unit
                                        for setting up a multi-user
                                        system (non-graphical). This
                                        is pulled in by
                                        <code class="filename">graphical.target</code>.</p><p>Units that are needed
                                        for a multi-user system shall
                                        add <code class="varname">Wants=</code>
                                        dependencies for their unit to
                                        this unit during
                                        installation. This is best
                                        configured via
223
                                        <code class="varname">WantedBy=multi-user.target</code>
224
                                        in the unit's
225
                                        "<code class="literal">[Install]</code>"
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
                                        section.</p></dd><dt id="network-online.target"><span class="term"><code class="filename">network-online.target</code></span><a class="headerlink" title="Permalink to this term" href="#network-online.target"></a></dt><dd><p>Units that strictly
                                        require a configured network
                                        connection should pull in
                                        <code class="filename">network-online.target</code>
                                        (via a
                                        <code class="varname">Wants=</code> 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.</p><p>Note the distinction
                                        between this unit and
                                        <code class="filename">network.target</code>. 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,
                                        <code class="filename">network.target</code>
                                        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,
                                        <code class="filename">network.target</code>
                                        is part of the boot of most
                                        systems, while
                                        <code class="filename">network-online.target</code>
                                        is not, except when at least
                                        one unit requires it. Also see
                                        <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget" target="_top">Running
                                        Services After the Network is
                                        up</a> for more
                                        information.</p><p>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
275
                                        generally do not need to pull
276 277 278 279 280 281 282 283 284 285 286 287 288 289
                                        this in.</p></dd><dt id="paths.target"><span class="term"><code class="filename">paths.target</code></span><a class="headerlink" title="Permalink to this term" href="#paths.target"></a></dt><dd><p>A special target unit
                                        that sets up all path units
                                        (see
                                        <a href="systemd.path.html"><span class="citerefentry"><span class="refentrytitle">systemd.path</span>(5)</span></a>
                                        for details) that shall be
                                        active after boot.</p><p>It is recommended that
                                        path units installed by
                                        applications get pulled in via
                                        <code class="varname">Wants=</code>
                                        dependencies from this
                                        unit. This is best configured
                                        via a
                                        <code class="varname">WantedBy=paths.target</code>
                                        in the path unit's
290
                                        "<code class="literal">[Install]</code>"
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
                                        section.</p></dd><dt id="poweroff.target"><span class="term"><code class="filename">poweroff.target</code></span><a class="headerlink" title="Permalink to this term" href="#poweroff.target"></a></dt><dd><p>A special target unit
                                        for shutting down and powering off the system.</p><p>Applications wanting to
                                        power off the system should start
                                        this unit.</p><p><code class="filename">runlevel0.target</code>
                                        is an alias for this target
                                        unit, for compatibility with SysV.</p></dd><dt id="reboot.target"><span class="term"><code class="filename">reboot.target</code></span><a class="headerlink" title="Permalink to this term" href="#reboot.target"></a></dt><dd><p>A special target unit
                                        for shutting down and rebooting the system.</p><p>Applications wanting to
                                        reboot the system should start
                                        this unit.</p><p><code class="filename">runlevel6.target</code>
                                        is an alias for this target
                                        unit, for compatibility with SysV.</p></dd><dt id="remote-fs.target"><span class="term"><code class="filename">remote-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#remote-fs.target"></a></dt><dd><p>Similar to
                                        <code class="filename">local-fs.target</code>,
                                        but for remote mount
                                        points.</p><p>systemd automatically
                                        adds dependencies of type
                                        <code class="varname">After=</code> for
                                        this target unit to all SysV
                                        init script service units with
                                        an LSB header referring to the
310
                                        "<code class="literal">$remote_fs</code>"
311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368
                                        facility.</p></dd><dt id="rescue.target"><span class="term"><code class="filename">rescue.target</code></span><a class="headerlink" title="Permalink to this term" href="#rescue.target"></a></dt><dd><p>A special target unit
                                        for setting up the base system
                                        and a rescue shell.</p><p><code class="filename">runlevel1.target</code>
                                        is an alias for this target
                                        unit, for compatibility with SysV.</p></dd><dt id="initrd-root-fs.target"><span class="term"><code class="filename">initrd-root-fs.target</code></span><a class="headerlink" title="Permalink to this term" href="#initrd-root-fs.target"></a></dt><dd><p><a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(3)</span></a>
                                        automatically adds
                                        dependencies of type
                                        <code class="varname">Before=</code> to
                                        the
                                        <code class="filename">sysroot.mount</code>
                                        unit, which is generated from
                                        the kernel command line.
                                        </p></dd><dt id="runlevel2.target"><span class="term"><code class="filename">runlevel2.target</code>, </span><span class="term"><code class="filename">runlevel3.target</code>, </span><span class="term"><code class="filename">runlevel4.target</code>, </span><span class="term"><code class="filename">runlevel5.target</code></span><a class="headerlink" title="Permalink to this term" href="#runlevel2.target"></a></dt><dd><p>These are targets that
                                        are called whenever the SysV
                                        compatibility code asks for
                                        runlevel 2, 3, 4, 5,
                                        respectively. It is a good
                                        idea to make this an alias for
                                        (i.e. symlink to)
                                        <code class="filename">multi-user.target</code>
                                        (for runlevel 2) or
                                        <code class="filename">graphical.target</code>
                                        (the others).</p></dd><dt id="shutdown.target"><span class="term"><code class="filename">shutdown.target</code></span><a class="headerlink" title="Permalink to this term" href="#shutdown.target"></a></dt><dd><p>A special target unit
                                        that terminates the services
                                        on system shutdown.</p><p>Services that shall be
                                        terminated on system shutdown
                                        shall add <code class="varname">Conflicts=</code>
                                        dependencies to this unit for
                                        their service unit, which is
                                        implicitly done when
                                        <code class="varname">DefaultDependencies=yes</code>
                                        is set (the default).</p></dd><dt id="sigpwr.target"><span class="term"><code class="filename">sigpwr.target</code></span><a class="headerlink" title="Permalink to this term" href="#sigpwr.target"></a></dt><dd><p>A special target that is
                                        started when systemd receives
                                        the SIGPWR process signal,
                                        which is normally sent by the
                                        kernel or UPS daemons when
                                        power fails.</p></dd><dt id="sleep.target"><span class="term"><code class="filename">sleep.target</code></span><a class="headerlink" title="Permalink to this term" href="#sleep.target"></a></dt><dd><p>A special target unit
                                        that is pulled in by
                                        <code class="filename">suspend.target</code>,
                                        <code class="filename">hibernate.target</code>
                                        and
                                        <code class="filename">hybrid-sleep.target</code>
                                        and may be used to hook units
                                        into the sleep state
                                        logic.</p></dd><dt id="sockets.target"><span class="term"><code class="filename">sockets.target</code></span><a class="headerlink" title="Permalink to this term" href="#sockets.target"></a></dt><dd><p>A special target unit
                                        that sets up all socket
                                        units.(see
                                        <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>
                                        for details) that shall be
                                        active after boot.</p><p>Services that can be
                                        socket-activated shall add
                                        <code class="varname">Wants=</code>
                                        dependencies to this unit for
                                        their socket unit during
                                        installation. This is best
                                        configured via a
                                        <code class="varname">WantedBy=sockets.target</code>
                                        in the socket unit's
369
                                        "<code class="literal">[Install]</code>"
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
                                        section.</p></dd><dt id="suspend.target"><span class="term"><code class="filename">suspend.target</code></span><a class="headerlink" title="Permalink to this term" href="#suspend.target"></a></dt><dd><p>A special target unit
                                        for suspending the
                                        system. This pulls in
                                        <code class="filename">sleep.target</code>.</p></dd><dt id="swap.target"><span class="term"><code class="filename">swap.target</code></span><a class="headerlink" title="Permalink to this term" href="#swap.target"></a></dt><dd><p>Similar to
                                        <code class="filename">local-fs.target</code>, but for swap
                                        partitions and swap
                                        files.</p></dd><dt id="sysinit.target"><span class="term"><code class="filename">sysinit.target</code></span><a class="headerlink" title="Permalink to this term" href="#sysinit.target"></a></dt><dd><p>A special target unit
                                        covering early boot-up scripts.</p></dd><dt id="syslog.socket"><span class="term"><code class="filename">syslog.socket</code></span><a class="headerlink" title="Permalink to this term" href="#syslog.socket"></a></dt><dd><p>The socket unit
                                        syslog implementations should
                                        listen on. All userspace log
                                        messages will be made
                                        available on this socket. For
                                        more information about syslog
                                        integration, please consult
                                        the <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/syslog" target="_top">Syslog
                                        Interface</a>
                                        document.</p></dd><dt id="system-update.target"><span class="term"><code class="filename">system-update.target</code></span><a class="headerlink" title="Permalink to this term" href="#system-update.target"></a></dt><dd><p>A special target unit
                                        that is used for off-line
                                        system updates.
                                        <a href="systemd-system-update-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-system-update-generator</span>(8)</span></a>
                                        will redirect the boot process
                                        to this target if
                                        <code class="filename">/system-update</code>
                                        exists. For more information
                                        see the <a class="ulink" href="http://freedesktop.org/wiki/Software/systemd/SystemUpdates" target="_top">System
                                        Updates
                                        Specification</a>.</p></dd><dt id="timers.target"><span class="term"><code class="filename">timers.target</code></span><a class="headerlink" title="Permalink to this term" href="#timers.target"></a></dt><dd><p>A special target unit
                                        that sets up all timer
                                        units (see
                                        <a href="systemd.timer.html"><span class="citerefentry"><span class="refentrytitle">systemd.timer</span>(5)</span></a>
                                        for details) that shall be
                                        active after boot.</p><p>It is recommended that
                                        timer units installed by
                                        applications get pulled in via
                                        <code class="varname">Wants=</code>
                                        dependencies from this
                                        unit. This is best configured
                                        via
                                        <code class="varname">WantedBy=timers.target</code>
                                        in the timer unit's
410
                                        "<code class="literal">[Install]</code>"
411 412 413 414 415 416 417 418 419 420
                                        section.</p></dd><dt id="umount.target"><span class="term"><code class="filename">umount.target</code></span><a class="headerlink" title="Permalink to this term" href="#umount.target"></a></dt><dd><p>A special target unit
                                        that umounts all mount and
                                        automount points on system
                                        shutdown.</p><p>Mounts that shall be
                                        unmounted on system shutdown
                                        shall add Conflicts
                                        dependencies to this unit for
                                        their mount unit, which is
                                        implicitly done when
                                        <code class="varname">DefaultDependencies=yes</code>
421
                                        is set (the default).</p></dd></dl></div></div><div class="refsect1"><a name="idm214172840096"></a><h2 id="Special System Units for Devices">Special System Units for Devices<a class="headerlink" title="Permalink to this headline" href="#Special%20System%20Units%20for%20Devices"></a></h2><p>Some target units are automatically pulled in as
422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
                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.</p><div class="variablelist"><dl class="variablelist"><dt id="bluetooth.target"><span class="term"><code class="filename">bluetooth.target</code></span><a class="headerlink" title="Permalink to this term" href="#bluetooth.target"></a></dt><dd><p>This target is started
                                        automatically as soon as a
                                        Bluetooth controller is
                                        plugged in or becomes
                                        available at boot.</p><p>This may be used to pull
                                        in Bluetooth management
                                        daemons dynamically when
                                        Bluetooth hardware is
                                        found.</p></dd><dt id="printer.target"><span class="term"><code class="filename">printer.target</code></span><a class="headerlink" title="Permalink to this term" href="#printer.target"></a></dt><dd><p>This target is started
                                        automatically as soon as a
                                        printer is plugged in or
                                        becomes available at
                                        boot.</p><p>This may be used to pull
                                        in printer management
                                        daemons dynamically when
                                        printer hardware is
                                        found.</p></dd><dt id="smartcard.target"><span class="term"><code class="filename">smartcard.target</code></span><a class="headerlink" title="Permalink to this term" href="#smartcard.target"></a></dt><dd><p>This target is started
                                        automatically as soon as a
                                        smartcard controller is
                                        plugged in or becomes
                                        available at boot.</p><p>This may be used to pull
                                        in smartcard management
                                        daemons dynamically when
                                        smartcard hardware is
                                        found.</p></dd><dt id="sound.target"><span class="term"><code class="filename">sound.target</code></span><a class="headerlink" title="Permalink to this term" href="#sound.target"></a></dt><dd><p>This target is started
                                        automatically as soon as a
                                        sound card is plugged in or
                                        becomes available at
                                        boot.</p><p>This may be used to pull
                                        in audio management daemons
                                        dynamically when audio
456
                                        hardware is found.</p></dd></dl></div></div><div class="refsect1"><a name="idm214172826944"></a><h2 id="Special Passive System Units ">Special Passive System Units <a class="headerlink" title="Permalink to this headline" href="#Special%20Passive%20System%20Units%20"></a></h2><p>A number of special system targets are defined
457 458 459 460
                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
461
                specifically that these <span class="emphasis"><em>passive</em></span>
462 463 464 465 466 467 468 469
                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 <code class="varname">Wants=</code> type
                dependency).</p><p>Note that these passive units cannot be started
470 471
                manually, i.e. "<code class="literal">systemctl start
                time-sync.target</code>" will fail with an
472 473 474
                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
475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
                transaction.</p><div class="variablelist"><dl class="variablelist"><dt id="cryptsetup-pre.target"><span class="term"><code class="filename">cryptsetup-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#cryptsetup-pre.target"></a></dt><dd><p>This passive target unit
                                        may be pulled in by services
                                        that want to run before any
                                        encrypted block device is set
                                        up. All encrypted block
                                        devices are set up after this
                                        target has been reached. Since
                                        the shutdown order is
                                        implicitly the reverse
                                        start-up order between units,
                                        this target is particularly
                                        useful to ensure that a
                                        service is shut down only
                                        after all encrypted block
                                        devices are fully
                                        stopped.</p></dd><dt id="local-fs-pre.target"><span class="term"><code class="filename">local-fs-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#local-fs-pre.target"></a></dt><dd><p>This target unit is
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507
                                        automatically ordered before
                                        all local mount points marked
                                        with <code class="option">auto</code>
                                        (see above). It can be used to
                                        execute certain units before
                                        all local mounts.</p></dd><dt id="network.target"><span class="term"><code class="filename">network.target</code></span><a class="headerlink" title="Permalink to this term" href="#network.target"></a></dt><dd><p>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
                                        <code class="filename">network.target</code>
                                        will be stopped before the
                                        network -- to whatever level
                                        it might be set up then -- is
508 509 510 511 512 513 514
                                        shut down. It is hence useful
                                        when writing service files
                                        that require network access on
                                        shutdown, which should order
                                        themselves after this target,
                                        but not pull it in. Also see
                                        <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget" target="_top">Running
515 516 517 518 519 520 521 522 523 524
                                        Services After the Network is
                                        up</a> for more
                                        information. Also see
                                        <code class="filename">network-online.target</code>
                                        described above.</p><p>systemd automatically
                                        adds dependencies of type
                                        <code class="varname">After=</code> for
                                        this target unit to all SysV
                                        init script service units with
                                        an LSB header referring to the
525
                                        "<code class="literal">$network</code>"
526 527 528 529 530 531 532 533 534
                                        facility.</p></dd><dt id="network-pre.target"><span class="term"><code class="filename">network-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#network-pre.target"></a></dt><dd><p>This passive target unit
                                        may be pulled in by services
                                        that want to run before any
                                        network is set up, for example
                                        for the purpose of setting up a
                                        firewall. All network
                                        management software orders
                                        itself after this target, but
                                        does not pull it in.</p></dd><dt id="nss-lookup.target"><span class="term"><code class="filename">nss-lookup.target</code></span><a class="headerlink" title="Permalink to this term" href="#nss-lookup.target"></a></dt><dd><p>A target that should be
535 536 537 538 539 540 541
                                        used as synchronization point
                                        for all host/network name
                                        service lookups. Note that
                                        this is independent of
                                        user/group name lookups for
                                        which
                                        <code class="filename">nss-user-lookup.target</code>
542 543 544 545 546 547
                                        should be used. All services
                                        for which the availability of
                                        full host/network name
                                        resolution is essential should
                                        be ordered after this target,
                                        but not pull it in. systemd
548 549 550 551 552 553
                                        automatically adds
                                        dependencies of type
                                        <code class="varname">After=</code> for
                                        this target unit to all SysV
                                        init script service units with
                                        an LSB header referring to the
554
                                        "<code class="literal">$named</code>"
555 556 557 558 559 560 561 562
                                        facility.</p></dd><dt id="nss-user-lookup.target"><span class="term"><code class="filename">nss-user-lookup.target</code></span><a class="headerlink" title="Permalink to this term" href="#nss-user-lookup.target"></a></dt><dd><p>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
                                        <code class="filename">nss-lookup.target</code>
563 564 565 566 567 568 569 570 571 572
                                        should be used. All services
                                        for which the availability of
                                        the full user/group database is
                                        essential should be ordered
                                        after this target, but not
                                        pull it in. Note that system
                                        users are always resolvable,
                                        and hence do not require any
                                        special ordering against this
                                        target.</p></dd><dt id="remote-fs-pre.target"><span class="term"><code class="filename">remote-fs-pre.target</code></span><a class="headerlink" title="Permalink to this term" href="#remote-fs-pre.target"></a></dt><dd><p>This target unit is
573 574 575 576 577 578 579 580 581 582 583 584 585 586
                                        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
                                        <code class="varname">Wants=</code> type
                                        dependency. If the unit wants
                                        to be pulled in by the first
587
                                        remote mount showing up, it
588 589
                                        should use
                                        <code class="filename">network-online.target</code>
590 591 592 593 594 595 596
                                        (see above).</p></dd><dt id="rpcbind.target"><span class="term"><code class="filename">rpcbind.target</code></span><a class="headerlink" title="Permalink to this term" href="#rpcbind.target"></a></dt><dd><p>The portmapper/rpcbind
                                        pulls in this target and
                                        orders itself before it, to
                                        indicate its
                                        availability. systemd
                                        automatically adds
                                        dependencies of type
597 598 599 600
                                        <code class="varname">After=</code> for
                                        this target unit to all SysV
                                        init script service units with
                                        an LSB header referring to the
601
                                        "<code class="literal">$portmap</code>"
602 603 604 605 606 607 608 609 610 611 612 613
                                        facility.</p></dd><dt id="time-sync.target"><span class="term"><code class="filename">time-sync.target</code></span><a class="headerlink" title="Permalink to this term" href="#time-sync.target"></a></dt><dd><p>Services responsible for
                                        synchronizing the system clock
                                        from a remote source (such as
                                        NTP client implementations)
                                        should pull in this target and
                                        order themselves before
                                        it. All services where correct
                                        time is essential should be
                                        ordered after this unit, but
                                        not pull it in. systemd
                                        automatically adds
                                        dependencies of type
614 615 616 617
                                        <code class="varname">After=</code> for
                                        this target unit to all SysV
                                        init script service units with
                                        an LSB header referring to the
618
                                        "<code class="literal">$time</code>"
619
                                        facility. </p></dd></dl></div></div><div class="refsect1"><a name="idm214172785472"></a><h2 id="Special User Units">Special User Units<a class="headerlink" title="Permalink to this headline" href="#Special%20User%20Units"></a></h2><p>When systemd runs as a user instance, the
620 621 622 623 624 625 626 627 628 629
                following special units are available, which have
                similar definitions as their system counterparts:
                <code class="filename">default.target</code>,
                <code class="filename">shutdown.target</code>,
                <code class="filename">sockets.target</code>,
                <code class="filename">timers.target</code>,
                <code class="filename">paths.target</code>,
                <code class="filename">bluetooth.target</code>,
                <code class="filename">printer.target</code>,
                <code class="filename">smartcard.target</code>,
630
                <code class="filename">sound.target</code>.</p><p>In addition, the following special unit is
631 632 633 634 635 636
                understood only when systemd runs as service instance:</p><div class="variablelist"><dl class="variablelist"><dt id="exit.target"><span class="term"><code class="filename">exit.target</code></span><a class="headerlink" title="Permalink to this term" href="#exit.target"></a></dt><dd><p>A special service unit
                                        for shutting down the
                                        user service manager.</p><p>Applications wanting to
                                        terminate the user service
                                        manager should start this
                                        unit. If systemd receives
637 638
                                        <code class="constant">SIGTERM</code> or <code class="constant">SIGINT</code> when running
                                        as user service daemon, it will
639 640 641 642 643
                                        start this unit.</p><p>Normally, this pulls in
                                        <code class="filename">shutdown.target</code>
                                        which in turn should be
                                        conflicted by all units that
                                        want to be shut down on
644
                                        user service manager exit.</p></dd></dl></div></div><div class="refsect1"><a name="idm214172772576"></a><h2 id="Special Slice Units">Special Slice Units<a class="headerlink" title="Permalink to this headline" href="#Special%20Slice%20Units"></a></h2><p>There are four "<code class="literal">.slice</code>" units
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659
                which form the basis of the hierarchy for assignment
                of resources for services, users, and virtual machines
                or containers.</p><div class="variablelist"><dl class="variablelist"><dt id="-.slice"><span class="term"><code class="filename">-.slice</code></span><a class="headerlink" title="Permalink to this term" href="#-.slice"></a></dt><dd><p>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.</p></dd><dt id="system.slice"><span class="term"><code class="filename">system.slice</code></span><a class="headerlink" title="Permalink to this term" href="#system.slice"></a></dt><dd><p>By default, all services
                                        services started by
                                        <span class="command"><strong>systemd</strong></span> are
                                        found in this slice.</p></dd><dt id="user.slice"><span class="term"><code class="filename">user.slice</code></span><a class="headerlink" title="Permalink to this term" href="#user.slice"></a></dt><dd><p>By default, all user
                                        processes and services started
                                        on behalf of the user,
                                        including the per-user systemd
                                        instance are found in this
660
                                        slice.</p></dd><dt id="machine.slice"><span class="term"><code class="filename">machine.slice</code></span><a class="headerlink" title="Permalink to this term" href="#machine.slice"></a></dt><dd><p>By default, all virtual
661 662 663 664
                                        machines and containers
                                        registered with
                                        <span class="command"><strong>systemd-machined</strong></span>
                                        are found in this slice.
665
                                        </p></dd></dl></div></div><div class="refsect1"><a name="idm214172760096"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
666 667 668 669 670
                          <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
                          <a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
                          <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
                          <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,
                          <a href="systemd.target.html"><span class="citerefentry"><span class="refentrytitle">systemd.target</span>(5)</span></a>,
671
                          <a href="systemd.slice.html"><span class="citerefentry"><span class="refentrytitle">systemd.slice</span>(5)</span></a>,
672 673 674
                          <a href="bootup.html"><span class="citerefentry"><span class="refentrytitle">bootup</span>(7)</span></a>,
                          <a href="systemd-fstab-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-fstab-generator</span>(8)</span></a>
                  </p></div></div></body></html>