man: say that .device units need udev

This was implied by the need to tag them with "systemd", but let's make this
obvious, since it's rather easy to trip over this as a user.

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1941458.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-03-22 21:45:04 +01:00
parent d229704743
commit ccd593a61c

View file

@ -26,11 +26,10 @@
<refsect1> <refsect1>
<title>Description</title> <title>Description</title>
<para>A unit configuration file whose name ends in <para>A unit configuration file whose name ends in <literal>.device</literal> encodes information about a
<literal>.device</literal> encodes information about a device unit device unit as exposed in the
as exposed in the sysfs/<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry> device
sysfs/<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry> tree. This may be used to define dependencies between devices and other units.</para>
device tree.</para>
<para>This unit type has no specific options. See <para>This unit type has no specific options. See
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
@ -40,14 +39,10 @@
sections. A separate [Device] section does not sections. A separate [Device] section does not
exist, since no device-specific options may be configured.</para> exist, since no device-specific options may be configured.</para>
<para>systemd will dynamically create device units for all kernel <para>systemd will dynamically create device units for all kernel devices that are marked with the
devices that are marked with the "systemd" udev tag (by default <literal>systemd</literal> udev tag (by default all block and network devices, and a few others). Note
all block and network devices, and a few others). This may be used that <emphasis>if <filename>systemd-udev.service</filename> is not running, no device units will be
to define dependencies between devices and other units. To tag a available (for example in a typical container)</emphasis>.</para>
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> <para>Device units are named after the <filename>/sys/</filename>
and <filename>/dev/</filename> paths they control. Example: the and <filename>/dev/</filename> paths they control. Example: the
@ -57,6 +52,10 @@
name see name see
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
<para>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 will be reloaded by systemd whenever the <para>Device units will be reloaded by systemd whenever the
corresponding device generates a <literal>changed</literal> event. corresponding device generates a <literal>changed</literal> event.
Other units can use <varname>ReloadPropagatedFrom=</varname> to react Other units can use <varname>ReloadPropagatedFrom=</varname> to react