mirror of
https://github.com/systemd/systemd
synced 2024-09-06 08:46:19 +00:00
312 lines
13 KiB
XML
312 lines
13 KiB
XML
<?xml version='1.0'?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
|
|
<refentry id="systemd-udevd.service"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
<refentryinfo>
|
|
<title>systemd-udevd.service</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd-udevd.service</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd-udevd.service</refname>
|
|
<refname>systemd-udevd-control.socket</refname>
|
|
<refname>systemd-udevd-kernel.socket</refname>
|
|
<refname>systemd-udevd</refname>
|
|
<refpurpose>Device event managing daemon</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename>systemd-udevd.service</filename></para>
|
|
<para><filename>systemd-udevd-control.socket</filename></para>
|
|
<para><filename>systemd-udevd-kernel.socket</filename></para>
|
|
|
|
<cmdsynopsis>
|
|
<command>/usr/lib/systemd/systemd-udevd</command>
|
|
<arg><option>--daemon</option></arg>
|
|
<arg><option>--debug</option></arg>
|
|
<arg><option>--children-max=</option></arg>
|
|
<arg><option>--exec-delay=</option></arg>
|
|
<arg><option>--event-timeout=</option></arg>
|
|
<arg><option>--resolve-names=early|late|never</option></arg>
|
|
<arg><option>--version</option></arg>
|
|
<arg><option>--help</option></arg>
|
|
</cmdsynopsis>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1><title>Description</title>
|
|
<para><command>systemd-udevd</command> listens to kernel uevents.
|
|
For every event, systemd-udevd executes matching instructions
|
|
specified in udev rules. See <citerefentry>
|
|
<refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
|
|
</citerefentry>.</para>
|
|
|
|
<para>The behavior of the daemon can be configured using
|
|
<citerefentry><refentrytitle>udev.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
its command line options, environment variables, and on the kernel
|
|
command line, or changed dynamically with <command>udevadm
|
|
control</command>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1><title>Options</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-d</option></term>
|
|
<term><option>--daemon</option></term>
|
|
<listitem>
|
|
<para>Detach and run in the background.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-D</option></term>
|
|
<term><option>--debug</option></term>
|
|
<listitem>
|
|
<para>Print debug messages to standard error.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-c</option></term>
|
|
<term><option>--children-max=</option></term>
|
|
<listitem>
|
|
<para>Limit the number of events executed in parallel.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-e</option></term>
|
|
<term><option>--exec-delay=</option></term>
|
|
<listitem>
|
|
<para>Delay the execution of each <varname>RUN{<replaceable>program</replaceable>}</varname>
|
|
parameter by the given number of seconds. This option
|
|
might be useful when debugging system crashes during
|
|
coldplug caused by loading non-working kernel
|
|
modules.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-t</option></term>
|
|
<term><option>--event-timeout=</option></term>
|
|
<listitem>
|
|
<para>Set the number of seconds to wait for events to finish. After
|
|
this time, the event will be terminated. The default is 180 seconds.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v216"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-s</option></term>
|
|
<term><option>--timeout-signal=</option></term>
|
|
<listitem>
|
|
<para>Set the signal which <filename>systemd-udevd</filename> will send to
|
|
forked off processes after reaching event timeout. The setting can be overridden
|
|
at boot time with the kernel command line option
|
|
<varname>udev.timeout_signal=</varname>. Setting to <constant>SIGABRT</constant>
|
|
may be helpful in order to debug worker timeouts. Defaults to
|
|
<constant>SIGKILL</constant>. Note that setting the option on the command line
|
|
overrides the setting from the configuration file.
|
|
</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v246"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-N</option></term>
|
|
<term><option>--resolve-names=</option></term>
|
|
<listitem>
|
|
<para>Specify when systemd-udevd should resolve names of users and groups.
|
|
When set to <option>early</option> (the default), names will be
|
|
resolved when the rules are parsed. When set to
|
|
<option>late</option>, names will be resolved for every event.
|
|
When set to <option>never</option>, names will never be resolved
|
|
and all devices will be owned by root.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
|
<xi:include href="standard-options.xml" xpointer="version" />
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1><title>Kernel command line</title>
|
|
<variablelist class='kernel-commandline-options'>
|
|
<para>Parameters prefixed with "rd." will be read when <command>systemd-udevd</command> is used in an
|
|
initrd, those without will be processed both in the initrd and on the host.</para>
|
|
<varlistentry>
|
|
<term><varname>udev.log_level=</varname></term>
|
|
<term><varname>rd.udev.log_level=</varname></term>
|
|
<listitem>
|
|
<para>Set the log level.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v247"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>udev.children_max=</varname></term>
|
|
<term><varname>rd.udev.children_max=</varname></term>
|
|
<listitem>
|
|
<para>Limit the number of events executed in parallel.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>udev.exec_delay=</varname></term>
|
|
<term><varname>rd.udev.exec_delay=</varname></term>
|
|
<listitem>
|
|
<para>Delay the execution of each <varname>RUN{<replaceable>program</replaceable>}</varname> parameter by the given
|
|
number of seconds. This option might be useful when
|
|
debugging system crashes during coldplug caused by loading
|
|
non-working kernel modules.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v186"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>udev.event_timeout=</varname></term>
|
|
<term><varname>rd.udev.event_timeout=</varname></term>
|
|
<listitem>
|
|
<para>Wait for events to finish up to the given number
|
|
of seconds. This option might be useful if events are
|
|
terminated due to kernel drivers taking too long to initialize.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v216"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>udev.timeout_signal=</varname></term>
|
|
<term><varname>rd.udev.timeout_signal=</varname></term>
|
|
<listitem>
|
|
<para>Specifies a signal that <filename>systemd-udevd</filename> will send to
|
|
workers on timeout. Note that kernel command line option overrides both the
|
|
setting in the configuration file and the one on the program command line.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v246"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>udev.blockdev_read_only</varname></term>
|
|
<term><varname>rd.udev.blockdev_read_only</varname></term>
|
|
<listitem>
|
|
<para>If specified, mark all physical block devices read-only as they appear. Synthetic block
|
|
devices (such as loopback block devices or device mapper devices) are left as they are. This is
|
|
useful to guarantee that the contents of physical block devices remains unmodified during runtime,
|
|
for example to implement fully stateless systems, for testing or for recovery situations where
|
|
corrupted file systems shall not be corrupted further through accidental modification.</para>
|
|
|
|
<para>A block device may be marked writable again by issuing the <command>blockdev
|
|
--setrw</command> command, see <citerefentry
|
|
project='man-pages'><refentrytitle>blockdev</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
for details.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v246"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>net.ifnames=</varname></term>
|
|
<listitem>
|
|
<para>Network interfaces are renamed to give them predictable names
|
|
when possible. It is enabled by default; specifying 0 disables it.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v199"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>net.naming-scheme=</varname></term>
|
|
<listitem>
|
|
<para>Network interfaces are renamed to give them predictable names when possible (unless
|
|
<varname>net.ifnames=0</varname> is specified, see above). With this kernel command line option it
|
|
is possible to pick a specific version of this algorithm and override the default chosen at
|
|
compilation time. Expects one of the naming scheme identifiers listed in
|
|
<citerefentry><refentrytitle>systemd.net-naming-scheme</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
or <literal>latest</literal> to select the latest scheme known (to this particular version of
|
|
<filename>systemd-udevd.service</filename>).</para>
|
|
|
|
<para>Note that selecting a specific scheme is not sufficient to fully stabilize interface naming:
|
|
the naming is generally derived from driver attributes exposed by the kernel. As the kernel is
|
|
updated, previously missing attributes <filename>systemd-udevd.service</filename> is checking might
|
|
appear, which affects older name derivation algorithms, too.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v240"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><varname>net.ifname-policy=<replaceable>policy1</replaceable>[,<replaceable>policy2</replaceable>,…][,<replaceable>MAC</replaceable>]</varname></term>
|
|
<listitem>
|
|
<para>Specifies naming policies applied when renaming network interfaces. Takes a list of
|
|
policies and an optional MAC address separated with comma. Each policy value must be one of
|
|
the policies understood by the <varname>NamePolicy=</varname> setting in .link files, e.g.
|
|
<literal>onboard</literal> or <literal>path</literal>. See
|
|
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
for more details. When the MAC address is specified, the policies are applied to the
|
|
interface which has the address. When no MAC address is specified, the policies are applied
|
|
to all interfaces. This kernel command line argument can be specified multiple times.</para>
|
|
|
|
<para>This argument is not directly read by <command>systemd-udevd</command>, but is instead
|
|
converted to a .link file by
|
|
<citerefentry><refentrytitle>systemd-network-generator.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
|
For this argument to take effect, <filename>systemd-network-generator.service</filename> must be
|
|
enabled.</para>
|
|
|
|
<para>Example:
|
|
<programlisting>net.ifname-policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab
|
|
net.ifname-policy=keep,kernel,path,slot,onboard,mac</programlisting>
|
|
This is mostly equivalent to creating the following .link files:
|
|
<programlisting># 91-name-policy-with-mac.link
|
|
[Match]
|
|
MACAddress=01:23:45:67:89:ab
|
|
|
|
[Link]
|
|
NamePolicy=keep kernel path slot onboard
|
|
AlternativeNamePolicy=path slot onboard</programlisting>
|
|
and
|
|
<programlisting># 92-name-policy-for-all.link
|
|
[Match]
|
|
OriginalName=*
|
|
|
|
[Link]
|
|
NamePolicy=keep kernel path slot onboard mac
|
|
AlternativeNamePolicy=path slot onboard mac</programlisting>
|
|
</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v250"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<!-- when adding entries here, consider also adding them in kernel-command-line.xml -->
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para><simplelist type="inline">
|
|
<member><citerefentry><refentrytitle>udev.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
|
</simplelist></para>
|
|
</refsect1>
|
|
</refentry>
|