chiark / gitweb /
man: fix references to systemctl man page which is now in section 1
[elogind.git] / man / systemd.device.xml
index 7b9cc22..557f15f 100644 (file)
@@ -9,16 +9,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
 
         <refnamediv>
                 <refname>systemd.device</refname>
-                <refpurpose>systemd device configuration files</refpurpose>
+                <refpurpose>Device unit configuration</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
-                <para><filename>systemd.device</filename></para>
+                <para><filename><replaceable>device</replaceable>.device</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
-                <filename>.device</filename> encodes information about
+                <literal>.device</literal> encodes information about
                 a device unit as exposed in the
                 sysfs/<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                 device tree.</para>
                 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 for the common options of all unit configuration
                 files. The common configuration items are configured
-                in the generic [Unit] and [Install] sections. A
-                seperate [Device] section does not exist, since no
-                device-specific options may be configured.</para>
-
-                <para>systemd will automatically create dynamic device
-                units for all kernel devices that are marked with the
-                "systemd" udev tag (by default all block and network
-                devices, and a few others). This may be used to define
-                dependencies between devices and other
-                units.</para>
+                in the generic <literal>[Unit]</literal> and
+                <literal>[Install]</literal> sections. A separate
+                <literal>[Device]</literal> section does not exist,
+                since no device-specific options may be
+                configured.</para>
+
+                <para>systemd will dynamically create device units for
+                all kernel devices that are marked with the "systemd"
+                udev tag (by default all block and network devices,
+                and a few others). This may be used to define
+                dependencies between devices and other units. To tag a
+                udev device, use <literal>TAG+="systemd"</literal> in
+                the udev rules file, see
+                <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                for details.</para>
 
                 <para>Device units are named after the
                 <filename>/sys</filename> and
                 <filename>/dev</filename> paths they control. Example:
-                the device <filename>/dev/sda5</filename> is exposed
+                the device <filename noindex='true'>/dev/sda5</filename> is exposed
                 in systemd as <filename>dev-sda5.device</filename>. For
                 details about the escaping logic used to convert a
                 file system path to a unit name see
 
                 <para>The settings of device units may either be
                 configured via unit files, or directly from the udev
-                database (which is recommended). The following udev
+                database (which is recommended). The following udev device
                 properties are understood by systemd:</para>
 
-                <variablelist>
+                <variablelist class='udev-directives'>
                         <varlistentry>
                                 <term><varname>SYSTEMD_WANTS=</varname></term>
+                                <term><varname>SYSTEMD_USER_WANTS=</varname></term>
                                 <listitem><para>Adds dependencies of
-                                type <varname>Wants</varname> from
-                                this unit to all listed units. This
-                                may be used to activate aritrary units
-                                if a specific device becomes
-                                available.</para></listitem>
+                                type <varname>Wants</varname> from the
+                                device unit to all listed units. The
+                                first form is used by the system
+                                systemd instance, the second by user
+                                systemd instances. Those settings may
+                                be used to activate arbitrary units
+                                when a specific device becomes
+                                available.</para>
+
+                                <para>Note that this and the
+                                other tags are not taken into account
+                                unless the device is tagged with the
+                                <literal>systemd</literal> string in
+                                the udev database, because otherwise
+                                the device is not exposed as a systemd
+                                unit (see above).</para>
+
+                                <para>Note that systemd will only act
+                                on <varname>Wants</varname>
+                                dependencies when a device first
+                                becomes active. It will not act on
+                                them if they are added to devices that
+                                are already active. Use
+                                <varname>SYSTEMD_READY=</varname> (see
+                                below) to influence on which udev
+                                event to trigger the dependencies.
+                                </para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
+                                <term><varname>SYSTEMD_READY=</varname></term>
+                                <listitem><para>If set to 0, systemd
+                                will consider this device unplugged
+                                even if it shows up in the udev
+                                tree. If this property is unset or set
+                                to 1, the device will be considered
+                                plugged if it is visible in the
+                                udev tree. This property has no
+                                influence on the behavior when a
+                                device disappears from the udev
+                                tree.</para>
+
+                                <para>This option is useful to support
+                                devices that initially show up in an
+                                uninitialized state in the tree, and
+                                for which a <literal>changed</literal>
+                                event is generated the moment they are
+                                fully set up. Note that
+                                <varname>SYSTEMD_WANTS=</varname> (see
+                                above) is not acted on as long as
+                                <varname>SYSTEMD_READY=0</varname> is
+                                set for a device.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
                                 <term><varname>ID_MODEL_FROM_DATABASE=</varname></term>
                                 <term><varname>ID_MODEL=</varname></term>
 
         <refsect1>
                   <title>See Also</title>
                   <para>
-                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-                          <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-                          <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                   </para>
         </refsect1>