<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1-or-later
Copyright © 2014 Jason St. John
-->
-<refentry id="udev">
+<refentry id="udev" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev</title>
<productname>systemd</productname>
<term><literal>-=</literal></term>
<listitem>
<para>Remove the value from a key that holds a list of entries.</para>
+
+ <xi:include href="version-info.xml" xpointer="v217"/>
</listitem>
</varlistentry>
<term><literal>:=</literal></term>
<listitem>
<para>Assign a value to a key finally; disallow any later changes.</para>
+
+ <xi:include href="version-info.xml" xpointer="v247"/>
</listitem>
</varlistentry>
</variablelist>
backslash, lowercase t, backslash, lowercase n.</para>
<para>The string can be prefixed with a lowercase e (e"string\n") to mark the string as
- <ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style escaped</ulink>.
+ C-style escaped, see
+ <ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">Escape sequences in C</ulink>.
For example, e"string\n" is parsed as 7 characters: 6 lowercase letters and a newline.
This can be useful for writing special characters when a kernel driver requires them.</para>
<varlistentry>
<term><varname>SYMLINK</varname></term>
<listitem>
- <para>Match the name of a symlink targeting the node. It can
- be used once a SYMLINK key has been set in one of the preceding
- rules. There may be multiple symlinks; only one needs to match.
- </para>
+ <para>Match the name of a symlink targeting the node. It can be used once a SYMLINK key has
+ been set in one of the preceding rules. There may be multiple symlinks; only one needs to
+ match. If the operator is <literal>!=</literal>, the token returns true only if there is no
+ symlink matched.</para>
</listitem>
</varlistentry>
<term><varname>SYSCTL{<replaceable>kernel parameter</replaceable>}</varname></term>
<listitem>
<para>Match a kernel parameter value.</para>
+
+ <xi:include href="version-info.xml" xpointer="v240"/>
</listitem>
</varlistentry>
<para>System's architecture. See <option>ConditionArchitecture=</option> in
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for possible values.</para>
+
+ <xi:include href="version-info.xml" xpointer="v244"/>
</listitem>
</varlistentry>
<varlistentry>
<para>System's virtualization environment. See
<citerefentry><refentrytitle>systemd-detect-virt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
for possible values.</para>
+
+ <xi:include href="version-info.xml" xpointer="v244"/>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>cvm</literal></term>
+ <listitem>
+ <para>System's confidential virtualization technology. See
+ <citerefentry><refentrytitle>systemd-detect-virt</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ for possible values.</para>
+
+ <xi:include href="version-info.xml" xpointer="v254"/>
</listitem>
</varlistentry>
</variablelist>
<para>Unknown keys will never match.</para>
+
+ <xi:include href="version-info.xml" xpointer="v244"/>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>TAG</varname></term>
<listitem>
- <para>Match against a device tag.</para>
+ <para>Match against one of device tags. It can be used once a TAG key has been set in one of
+ the preceding rules. There may be multiple tags; only one needs to match. If the operator is
+ <literal>!=</literal>, the token returns true only if there is no tag matched.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>TAGS</varname></term>
<listitem>
- <para>Search the devpath upwards for a device with matching tag.</para>
+ <para>Search the devpath upwards for a device with matching tag. If the operator is
+ <literal>!=</literal>, the token returns true only if there is no tag matched.</para>
</listitem>
</varlistentry>
<para>Separates alternative patterns. For example, the pattern string
<literal>abc|x*</literal> would match either <literal>abc</literal>
or <literal>x*</literal>.</para>
+
+ <xi:include href="version-info.xml" xpointer="v217"/>
</listitem>
</varlistentry>
</variablelist>
<term><varname>SECLABEL{<replaceable>module</replaceable>}</varname></term>
<listitem>
<para>Applies the specified Linux Security Module label to the device node.</para>
+
+ <xi:include href="version-info.xml" xpointer="v209"/>
</listitem>
</varlistentry>
<term><varname>SYSCTL{<replaceable>kernel parameter</replaceable>}</varname></term>
<listitem>
<para>The value that should be written to kernel parameter.</para>
+
+ <xi:include href="version-info.xml" xpointer="v220"/>
</listitem>
</varlistentry>
<listitem>
<para>As <varname>program</varname>, but use one of the
built-in programs rather than an external one.</para>
+
+ <xi:include href="version-info.xml" xpointer="v199"/>
</listitem>
</varlistentry>
</variablelist>
import its output, which must be in environment key
format. Path specification, command/argument separation,
and quoting work like in <varname>RUN</varname>.</para>
+
+ <xi:include href="version-info.xml" xpointer="v199"/>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>Similar to <literal>program</literal>, but use one of the
built-in programs rather than an external one.</para>
+
+ <xi:include href="version-info.xml" xpointer="v199"/>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><option>db_persist</option></term>
<listitem>
- <para>Set the flag (sticky bit) on the udev database entry
- of the event device. Device properties are then kept in the
- database even when
- <command>udevadm info --cleanup-db</command> is called.
- This option can be useful in certain cases
- (e.g. Device Mapper devices) for persisting device state
- on the transition from initramfs.</para>
+ <para>Set the flag (sticky bit) on the udev database entry of the event device. Device
+ properties are then kept in the database even when <command>udevadm info
+ --cleanup-db</command> is called. This option can be useful in certain cases
+ (e.g. Device Mapper devices) for persisting device state on the transition from
+ initrd.</para>
+
+ <xi:include href="version-info.xml" xpointer="v241"/>
</listitem>
</varlistentry>
<varlistentry>
<para>Example for debugging uevent processing for network interfaces:
<programlisting># /etc/udev/rules.d/00-debug-net.rules
SUBSYSTEM=="net", OPTIONS="log_level=debug"</programlisting></para>
+
+ <xi:include href="version-info.xml" xpointer="v248"/>
</listitem>
</varlistentry>
</variablelist>
</varlistentry>
</variablelist>
- <para>The <varname>NAME</varname>, <varname>SYMLINK</varname>,
- <varname>PROGRAM</varname>, <varname>OWNER</varname>,
- <varname>GROUP</varname>, <varname>MODE</varname>, <varname>SECLABEL</varname>,
- and <varname>RUN</varname> fields support simple string substitutions.
+ <para>The <varname>ENV</varname>, <varname>GROUP</varname>,
+ <varname>MODE</varname>, <varname>NAME</varname>,
+ <varname>OWNER</varname>, <varname>PROGRAM</varname>,
+ <varname>RUN</varname>, <varname>SECLABEL</varname>, and
+ <varname>SYMLINK</varname> fields support simple string substitutions.
The <varname>RUN</varname> substitutions are performed after all rules
have been processed, right before the program is executed, allowing for
- the use of device properties set by earlier matching rules. For all other
- fields, substitutions are performed while the individual rule is being
- processed. The available substitutions are:</para>
+ the use of device properties set by earlier matching rules. For all
+ other fields, substitutions are performed while the individual rule is
+ being processed. The available substitutions are:</para>
<variablelist class='udev-directives'>
<varlistentry>
<term><option>$kernel</option>, <option>%k</option></term>
<refsect1>
<title>See Also</title>
- <para>
- <citerefentry>
+ <para><simplelist type="inline">
+ <member><citerefentry>
<refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citerefentry>
+ </citerefentry></member>
+ <member><citerefentry>
<refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citerefentry>
+ </citerefentry></member>
+ <member><citerefentry>
<refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum>
- </citerefentry>
- </para>
+ </citerefentry></member>
+ </simplelist></para>
</refsect1>
</refentry>