2018-07-03 05:15:39 +08:00
|
|
|
|
<?xml version='1.0'?>
|
2019-03-14 21:40:58 +08:00
|
|
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
2023-12-25 22:48:33 +08:00
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
2020-11-09 12:23:58 +08:00
|
|
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
2017-11-19 00:52:56 +08:00
|
|
|
|
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<refentry id="udevadm"
|
|
|
|
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refentryinfo>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
<title>udevadm</title>
|
2012-04-04 20:42:32 +08:00
|
|
|
|
<productname>systemd</productname>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refentryinfo>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refmeta>
|
|
|
|
|
<refentrytitle>udevadm</refentrytitle>
|
|
|
|
|
<manvolnum>8</manvolnum>
|
|
|
|
|
</refmeta>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refnamediv>
|
|
|
|
|
<refname>udevadm</refname><refpurpose>udev management tool</refpurpose>
|
|
|
|
|
</refnamediv>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refsynopsisdiv>
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm</command>
|
|
|
|
|
<arg><option>--debug</option></arg>
|
|
|
|
|
<arg><option>--version</option></arg>
|
|
|
|
|
<arg><option>--help</option></arg>
|
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<command>udevadm info <optional>options</optional> <optional>devpath</optional></command>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<command>udevadm trigger <optional>options</optional> <optional>devpath</optional></command>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm settle <optional>options</optional></command>
|
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<command>udevadm control <replaceable>option</replaceable></command>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm monitor <optional>options</optional></command>
|
|
|
|
|
</cmdsynopsis>
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm test <optional>options</optional> <replaceable>devpath</replaceable></command>
|
|
|
|
|
</cmdsynopsis>
|
2011-08-05 08:00:30 +08:00
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm test-builtin <optional>options</optional> <replaceable>command</replaceable> <replaceable>devpath</replaceable></command>
|
|
|
|
|
</cmdsynopsis>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm verify</command>
|
|
|
|
|
<arg choice="opt" rep="repeat">options</arg>
|
2023-03-09 16:00:00 +08:00
|
|
|
|
<arg choice="opt" rep="repeat"><replaceable>file</replaceable></arg>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
</cmdsynopsis>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm wait <optional>options</optional> <replaceable>device|syspath</replaceable></command>
|
|
|
|
|
</cmdsynopsis>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
<cmdsynopsis>
|
|
|
|
|
<command>udevadm lock <optional>options</optional> <replaceable>command</replaceable></command>
|
|
|
|
|
</cmdsynopsis>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsynopsisdiv>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refsect1><title>Description</title>
|
2013-10-14 07:43:19 +08:00
|
|
|
|
<para><command>udevadm</command> expects a command and command
|
|
|
|
|
specific options. It controls the runtime behavior of
|
|
|
|
|
<command>systemd-udevd</command>, requests kernel events, manages
|
|
|
|
|
the event queue, and provides simple debugging mechanisms.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect1>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect1><title>Options</title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<term><option>-d</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--debug</option></term>
|
|
|
|
|
<listitem>
|
2018-05-09 15:00:55 +08:00
|
|
|
|
<para>Print debug messages to standard error. This option is implied in <command>udevadm test</command> and
|
|
|
|
|
<command>udevadm test-builtin</command> commands.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm info
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>devpath</replaceable>|<replaceable>file</replaceable>|<replaceable>unit</replaceable></optional>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</title>
|
|
|
|
|
|
2018-12-10 18:46:21 +08:00
|
|
|
|
<para>Query the udev database for device information.</para>
|
|
|
|
|
|
2018-12-10 21:02:39 +08:00
|
|
|
|
<para>Positional arguments should be used to specify one or more devices. Each one may be a device name
|
|
|
|
|
(in which case it must start with <filename>/dev/</filename>), a sys path (in which case it must start
|
|
|
|
|
with <filename>/sys/</filename>), or a systemd device unit name (in which case it must end with
|
2018-12-10 18:46:21 +08:00
|
|
|
|
<literal>.device</literal>, see
|
|
|
|
|
<citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
|
|
|
|
</para>
|
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-q</option></term>
|
|
|
|
|
<term><option>--query=<replaceable>TYPE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2018-12-10 18:46:21 +08:00
|
|
|
|
<para>Query the database for the specified type of device data.
|
2013-12-18 10:48:14 +08:00
|
|
|
|
Valid <replaceable>TYPE</replaceable>s are:
|
|
|
|
|
<constant>name</constant>, <constant>symlink</constant>,
|
|
|
|
|
<constant>path</constant>, <constant>property</constant>,
|
2013-10-14 07:43:19 +08:00
|
|
|
|
<constant>all</constant>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2018-12-10 18:46:21 +08:00
|
|
|
|
|
2021-09-29 03:18:08 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--property=<replaceable>NAME</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When showing device properties using the <option>--query=property</option>
|
|
|
|
|
option, limit display to properties specified in the argument. The argument should
|
|
|
|
|
be a comma-separated list of property names. If not specified, all known properties
|
|
|
|
|
are shown.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v250"/>
|
2021-09-29 03:18:08 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--value</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When showing device properties using the <option>--query=property</option>
|
|
|
|
|
option, print only their values, and skip the property name and <literal>=</literal>.</para>
|
|
|
|
|
<para>Cannot be used together with <option>-x/--export</option> or
|
|
|
|
|
<option>-P/--export-prefix</option>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v250"/>
|
2021-09-29 03:18:08 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-p</option></term>
|
|
|
|
|
<term><option>--path=<replaceable>DEVPATH</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2020-10-06 00:08:21 +08:00
|
|
|
|
<para>The <filename>/sys/</filename> path of the device to query, e.g.
|
|
|
|
|
<filename><optional>/sys/</optional>/class/block/sda</filename>. This option is an alternative to
|
2018-12-10 18:46:21 +08:00
|
|
|
|
the positional argument with a <filename>/sys/</filename> prefix. <command>udevadm info
|
|
|
|
|
--path=/class/block/sda</command> is equivalent to <command>udevadm info
|
|
|
|
|
/sys/class/block/sda</command>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-n</option></term>
|
|
|
|
|
<term><option>--name=<replaceable>FILE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2013-10-14 07:43:19 +08:00
|
|
|
|
<para>The name of the device node or a symlink to query,
|
2020-10-06 00:08:21 +08:00
|
|
|
|
e.g. <filename><optional>/dev/</optional>/sda</filename>. This option is an alternative to the
|
2018-12-10 18:46:21 +08:00
|
|
|
|
positional argument with a <filename>/dev/</filename> prefix. <command>udevadm info
|
|
|
|
|
--name=sda</command> is equivalent to <command>udevadm info /dev/sda</command>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-r</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--root</option></term>
|
|
|
|
|
<listitem>
|
2012-06-11 04:53:07 +08:00
|
|
|
|
<para>Print absolute paths in <command>name</command> or <command>symlink</command>
|
|
|
|
|
query.</para>
|
2011-03-23 09:31:09 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-a</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--attribute-walk</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Print all sysfs properties of the specified device that can be used
|
|
|
|
|
in udev rules to match the specified device. It prints all devices
|
|
|
|
|
along the chain, up to the root of sysfs that can be used in udev rules.</para>
|
2024-10-28 20:26:01 +08:00
|
|
|
|
|
|
|
|
|
<para>This switch supports JSON output mode (see <option>--json=</option> below). Note that
|
|
|
|
|
because this switch generates multiple JSON objects, JSON-SEQ mode is automatically enabled
|
|
|
|
|
(RFC7464). (Note: tools such as <ulink url="https://jqlang.github.io/jq/manual/">jq</ulink>
|
|
|
|
|
natively support JSON-SEQ via the <option>--seq</option> switch.)</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2022-04-05 16:20:18 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-t</option></term>
|
|
|
|
|
<term><option>--tree</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Display a sysfs tree. This recursively iterates through the sysfs hierarchy and displays it
|
2022-04-14 16:12:10 +08:00
|
|
|
|
in a tree structure. If a path is specified only the subtree below and its parent directories are
|
2022-04-05 16:20:18 +08:00
|
|
|
|
shown. This will show both device and subsystem items.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-04-05 16:20:18 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-12-10 05:45:13 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-x</option></term>
|
2010-12-10 05:45:13 +08:00
|
|
|
|
<term><option>--export</option></term>
|
|
|
|
|
<listitem>
|
2019-01-22 14:05:55 +08:00
|
|
|
|
<para>Print output as key/value pairs. Values are enclosed in single quotes.
|
|
|
|
|
This takes effects only when <option>--query=property</option> or
|
|
|
|
|
<option>--device-id-of-file=<replaceable>FILE</replaceable></option> is specified.</para>
|
2010-12-10 05:45:13 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-P</option></term>
|
|
|
|
|
<term><option>--export-prefix=<replaceable>NAME</replaceable></option></term>
|
2010-12-10 05:45:13 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:05:55 +08:00
|
|
|
|
<para>Add a prefix to the key name of exported values.
|
|
|
|
|
This implies <option>--export</option>.</para>
|
2010-12-10 05:45:13 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-d</option></term>
|
|
|
|
|
<term><option>--device-id-of-file=<replaceable>FILE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:05:55 +08:00
|
|
|
|
<para>Print major/minor numbers of the underlying device, where the file lives on.
|
|
|
|
|
If this is specified, all positional arguments are ignored.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-e</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--export-db</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Export the content of the udev database.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2011-04-14 04:33:01 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-c</option></term>
|
2011-04-14 04:33:01 +08:00
|
|
|
|
<term><option>--cleanup-db</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Cleanup the udev database.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2019-06-02 00:02:09 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-w<optional>SECONDS</optional></option></term>
|
|
|
|
|
<term><option>--wait-for-initialization<optional>=SECONDS</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Wait for device to be initialized. If argument <replaceable>SECONDS</replaceable>
|
|
|
|
|
is not specified, the default is to wait forever.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v243"/>
|
2019-06-02 00:02:09 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2023-10-12 17:20:06 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--subsystem-match<optional>=SUBSYSTEM</optional></option></term>
|
|
|
|
|
<term><option>--subsystem-nomatch<optional>=SUBSYSTEM</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices of or not of the given
|
|
|
|
|
subsystem respectively.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--attr-match<optional>=FILE[=VALUE]</optional></option></term>
|
|
|
|
|
<term><option>--attr-nomatch<optional>=FILE[=VALUE]</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices matching or not matching the
|
|
|
|
|
given attribute respectively.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--property-match<optional>=KEY=VALUE</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices matching the given property
|
|
|
|
|
and value.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--tag-match<optional>=TAG</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices with the given tag.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--sysname-match<optional>=NAME</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices with the given
|
|
|
|
|
<literal>/sys</literal> path.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--name-match<optional>=NAME</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices with the given name in
|
|
|
|
|
<literal>/dev</literal>.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--parent-match<optional>=NAME</optional></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices with the given parent
|
|
|
|
|
device.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--initialized-match</option></term>
|
|
|
|
|
<term><option>--initialized-nomatch</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When used with <option>--export-db</option>, only show devices that are initialized or not
|
|
|
|
|
initialized respectively.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v255"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
2023-10-12 17:02:49 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="json" />
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2022-06-22 20:26:55 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="no-pager" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
2021-05-26 16:54:57 +08:00
|
|
|
|
|
|
|
|
|
<para>The generated output shows the current device database entry in a terse format. Each line shown
|
|
|
|
|
is prefixed with one of the following characters:</para>
|
|
|
|
|
|
|
|
|
|
<table>
|
|
|
|
|
<title><command>udevadm info</command> output prefixes</title>
|
|
|
|
|
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
|
|
|
|
|
<colspec colname="prefix" />
|
|
|
|
|
<colspec colname="meaning" />
|
|
|
|
|
<thead>
|
|
|
|
|
<row>
|
|
|
|
|
<entry>Prefix</entry>
|
|
|
|
|
<entry>Meaning</entry>
|
|
|
|
|
</row>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>P:</literal></entry>
|
|
|
|
|
<entry>Device path in <filename>/sys/</filename></entry>
|
|
|
|
|
</row>
|
2022-04-04 21:25:01 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>M:</literal></entry>
|
|
|
|
|
<entry>Device name in <filename>/sys/</filename> (i.e. the last component of <literal>P:</literal>)</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>R:</literal></entry>
|
|
|
|
|
<entry>Device number in <filename>/sys/</filename> (i.e. the numeric suffix of the last component of <literal>P:</literal>)</entry>
|
|
|
|
|
</row>
|
2024-08-27 03:14:12 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>J:</literal></entry>
|
|
|
|
|
<entry>Device ID</entry>
|
|
|
|
|
</row>
|
2022-04-04 21:25:01 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>U:</literal></entry>
|
|
|
|
|
<entry>Kernel subsystem</entry>
|
|
|
|
|
</row>
|
2024-08-27 03:14:12 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>B:</literal></entry>
|
|
|
|
|
<entry>Driver subsystem</entry>
|
|
|
|
|
</row>
|
2022-04-04 21:25:01 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>T:</literal></entry>
|
|
|
|
|
<entry>Kernel device type within subsystem</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>D:</literal></entry>
|
|
|
|
|
<entry>Kernel device node major/minor</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>I:</literal></entry>
|
|
|
|
|
<entry>Network interface index</entry>
|
|
|
|
|
</row>
|
2021-05-26 16:54:57 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>N:</literal></entry>
|
|
|
|
|
<entry>Kernel device node name</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>L:</literal></entry>
|
|
|
|
|
<entry>Device node symlink priority</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>S:</literal></entry>
|
|
|
|
|
<entry>Device node symlink</entry>
|
|
|
|
|
</row>
|
2022-04-04 21:25:01 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>Q:</literal></entry>
|
|
|
|
|
<entry>Block device sequence number (DISKSEQ)</entry>
|
|
|
|
|
</row>
|
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>V:</literal></entry>
|
|
|
|
|
<entry>Attached driver</entry>
|
|
|
|
|
</row>
|
2021-05-26 16:54:57 +08:00
|
|
|
|
<row>
|
|
|
|
|
<entry><literal>E:</literal></entry>
|
|
|
|
|
<entry>Device property</entry>
|
|
|
|
|
</row>
|
|
|
|
|
</tbody>
|
|
|
|
|
</tgroup>
|
|
|
|
|
</table>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect2>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm trigger
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>devpath</replaceable>|<replaceable>file</replaceable>|<replaceable>unit</replaceable></optional>
|
2018-12-10 18:46:21 +08:00
|
|
|
|
</title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<para>Request device events from the kernel. Primarily used to replay events at system coldplug time.</para>
|
2018-12-10 18:46:21 +08:00
|
|
|
|
|
2019-01-18 16:09:18 +08:00
|
|
|
|
<para>Takes device specifications as positional arguments. See the description of <command>info</command>
|
2018-12-10 18:46:21 +08:00
|
|
|
|
above.</para>
|
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-v</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--verbose</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Print the list of devices which will be triggered.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-n</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--dry-run</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Do not actually trigger the event.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2021-02-20 15:31:40 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-q</option></term>
|
|
|
|
|
<term><option>--quiet</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Suppress error logging in triggering events.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v248"/>
|
2021-02-20 15:31:40 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-t</option></term>
|
|
|
|
|
<term><option>--type=<replaceable>TYPE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2022-03-04 20:45:24 +08:00
|
|
|
|
<para>Trigger a specific type of devices. Valid types are <literal>all</literal>,
|
|
|
|
|
<literal>devices</literal>, and <literal>subsystems</literal>. The default value is
|
|
|
|
|
<literal>devices</literal>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-c</option></term>
|
|
|
|
|
<term><option>--action=<replaceable>ACTION</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-03-07 13:45:38 +08:00
|
|
|
|
<para>Type of event to be triggered. Possible actions are <literal>add</literal>,
|
|
|
|
|
<literal>remove</literal>, <literal>change</literal>, <literal>move</literal>,
|
|
|
|
|
<literal>online</literal>, <literal>offline</literal>, <literal>bind</literal>,
|
2019-06-29 03:03:06 +08:00
|
|
|
|
and <literal>unbind</literal>. Also, the special value <literal>help</literal> can be used
|
|
|
|
|
to list the possible actions. The default value is <literal>change</literal>.
|
|
|
|
|
</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2022-03-04 23:23:13 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--prioritized-subsystem=<replaceable>SUBSYSTEM<optional>,<replaceable>SUBSYSTEM</replaceable>…</optional></replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Takes a comma separated list of subsystems. When triggering events for devices, the
|
|
|
|
|
devices from the specified subsystems and their parents are triggered first. For example,
|
|
|
|
|
if <option>--prioritized-subsystem=block,net</option>, then firstly all block devices and
|
|
|
|
|
their parents are triggered, in the next all network devices and their parents are
|
|
|
|
|
triggered, and lastly the other devices are triggered. This option can be specified
|
|
|
|
|
multiple times, and in that case the lists of the subsystems will be merged. That is,
|
|
|
|
|
<option>--prioritized-subsystem=block --prioritized-subsystem=net</option> is equivalent to
|
|
|
|
|
<option>--prioritized-subsystem=block,net</option>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-03-04 23:23:13 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-s</option></term>
|
|
|
|
|
<term><option>--subsystem-match=<replaceable>SUBSYSTEM</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<para>Trigger events for devices which belong to a
|
2019-01-22 14:52:39 +08:00
|
|
|
|
matching subsystem. This option supports shell style pattern matching.
|
|
|
|
|
When this option is specified more than once, then each matching result is ORed, that is,
|
|
|
|
|
all the devices in each subsystem are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-S</option></term>
|
|
|
|
|
<term><option>--subsystem-nomatch=<replaceable>SUBSYSTEM</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
|
|
|
|
<para>Do not trigger events for devices which belong to a matching subsystem. This option
|
2019-01-22 14:52:39 +08:00
|
|
|
|
supports shell style pattern matching. When this option is specified more than once,
|
|
|
|
|
then each matching result is ANDed, that is, devices which do not match all specified
|
|
|
|
|
subsystems are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-a</option></term>
|
|
|
|
|
<term><option>--attr-match=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for devices with a matching sysfs attribute. If a value is specified along
|
|
|
|
|
with the attribute name, the content of the attribute is matched against the given value using
|
|
|
|
|
shell style pattern matching. If no value is specified, the existence of the sysfs attribute is
|
|
|
|
|
checked. When this option is specified multiple times, then each matching result is ANDed,
|
|
|
|
|
that is, only devices which have all specified attributes are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-A</option></term>
|
|
|
|
|
<term><option>--attr-nomatch=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Do not trigger events for devices with a matching sysfs attribute. If a value is specified
|
|
|
|
|
along with the attribute name, the content of the attribute is matched against the given value
|
|
|
|
|
using shell style pattern matching. If no value is specified, the existence of the sysfs attribute
|
|
|
|
|
is checked. When this option is specified multiple times, then each matching result is ANDed,
|
|
|
|
|
that is, only devices which have none of the specified attributes are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-p</option></term>
|
|
|
|
|
<term><option>--property-match=<replaceable>PROPERTY</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for devices with a matching property value. This option supports shell style
|
|
|
|
|
pattern matching. When this option is specified more than once, then each matching result is ORed,
|
|
|
|
|
that is, devices which have one of the specified properties are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-g</option></term>
|
2021-06-07 22:08:45 +08:00
|
|
|
|
<term><option>--tag-match=<replaceable>TAG</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for devices with a matching tag. When this option is specified multiple times,
|
|
|
|
|
then each matching result is ANDed, that is, devices which have all specified tags are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-y</option></term>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<term><option>--sysname-match=<replaceable>NAME</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for devices for which the last component (i.e. the filename) of the
|
2020-10-06 00:08:21 +08:00
|
|
|
|
<filename>/sys/</filename> path matches the specified <replaceable>PATH</replaceable>. This option
|
2019-01-22 14:52:39 +08:00
|
|
|
|
supports shell style pattern matching. When this option is specified more than once, then each
|
|
|
|
|
matching result is ORed, that is, all devices which have any of the specified
|
|
|
|
|
<replaceable>NAME</replaceable> are triggered.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--name-match=<replaceable>NAME</replaceable></option></term>
|
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for devices with a matching device path. When this option is specified more than once,
|
2019-01-18 16:09:18 +08:00
|
|
|
|
then each matching result is ORed, that is, all specified devices are triggered.</para>
|
2023-09-18 23:03:38 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v218"/>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2011-07-08 06:42:35 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-b</option></term>
|
|
|
|
|
<term><option>--parent-match=<replaceable>SYSPATH</replaceable></option></term>
|
2011-07-08 06:42:35 +08:00
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Trigger events for all children of a given device. When this option is specified more than once,
|
2019-01-18 16:09:18 +08:00
|
|
|
|
then each matching result is ORed, that is, all children of each specified device are triggered.</para>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
</listitem>
|
2018-02-01 17:33:13 +08:00
|
|
|
|
</varlistentry>
|
2021-06-14 23:46:00 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--initialized-match</option></term>
|
|
|
|
|
<term><option>--initialized-nomatch</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When <option>--initialized-match</option> is specified, trigger events for devices
|
|
|
|
|
that are already initialized by <command>systemd-udevd</command>, and skip devices that
|
|
|
|
|
are not initialized yet.</para>
|
|
|
|
|
<para>When <option>--initialized-nomatch</option> is specified, trigger events for devices
|
|
|
|
|
that are not initialized by <command>systemd-udevd</command> yet, and skip devices that
|
|
|
|
|
are already initialized.</para>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
<para>Typically, it is essential that applications which intend to use such a match, make
|
|
|
|
|
sure a suitable udev rule is installed that sets at least one property on devices that
|
|
|
|
|
shall be matched. See also Initialized Devices section below for more details.</para>
|
2023-12-24 01:40:15 +08:00
|
|
|
|
<warning>
|
|
|
|
|
<para><option>--initialized-nomatch</option> can potentially save a significant
|
|
|
|
|
amount of time compared to re-triggering all devices in the system and e.g. can be used to
|
|
|
|
|
optimize boot time. However, this is not safe to be used in a boot sequence in general.
|
|
|
|
|
Especially, when udev rules for a device depend on its parent devices (e.g.
|
|
|
|
|
<literal>ATTRS</literal> or <literal>IMPORT{parent}</literal> keys, see
|
|
|
|
|
<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
|
|
|
for more details), the final state of the device becomes easily unstable with this option.
|
|
|
|
|
</para>
|
|
|
|
|
</warning>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2021-06-14 23:46:00 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2018-02-01 17:33:13 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-w</option></term>
|
|
|
|
|
<term><option>--settle</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Apart from triggering events, also waits for those events to
|
|
|
|
|
finish. Note that this is different from calling <command>udevadm
|
|
|
|
|
settle</command>. <command>udevadm settle</command> waits for all
|
|
|
|
|
events to finish. This option only waits for events triggered by
|
|
|
|
|
the same command to finish.</para>
|
2023-09-18 23:03:38 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v238"/>
|
2018-02-01 17:33:13 +08:00
|
|
|
|
</listitem>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
</varlistentry>
|
2021-05-26 22:13:39 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--uuid</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Trigger the synthetic device events, and associate a randomized UUID with each. These UUIDs
|
|
|
|
|
are printed to standard output, one line for each event. These UUIDs are included in the uevent
|
|
|
|
|
environment block (in the <literal>SYNTH_UUID=</literal> property) and may be used to track
|
|
|
|
|
delivery of the generated events.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v249"/>
|
2021-05-26 22:13:39 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2019-01-13 07:10:12 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--wait-daemon[=<replaceable>SECONDS</replaceable>]</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Before triggering uevents, wait for systemd-udevd daemon to be initialized.
|
2023-03-03 22:13:23 +08:00
|
|
|
|
Optionally takes timeout value. Default timeout is 5 seconds. This is equivalent to invoking
|
|
|
|
|
<command>udevadm control --ping</command> before <command>udevadm trigger</command>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v241"/>
|
2019-01-13 07:10:12 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
|
2019-01-18 16:09:18 +08:00
|
|
|
|
<para>In addition, optional positional arguments can be used
|
|
|
|
|
to specify device names or sys paths. They must start with
|
2020-10-06 00:08:21 +08:00
|
|
|
|
<filename>/dev/</filename> or <filename>/sys/</filename>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
respectively.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect2>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm settle
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<para>Watches the udev event queue, and exits if all current events are handled.</para>
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-t</option></term>
|
|
|
|
|
<term><option>--timeout=<replaceable>SECONDS</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<para>Maximum number of seconds to wait for the event
|
|
|
|
|
queue to become empty. The default value is 120 seconds. A
|
|
|
|
|
value of 0 will check if the queue is empty and always
|
2020-06-08 02:46:59 +08:00
|
|
|
|
return immediately. A non-zero value will return an exit
|
|
|
|
|
code of 0 if queue became empty before timeout was reached,
|
|
|
|
|
non-zero otherwise.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-E</option></term>
|
|
|
|
|
<term><option>--exit-if-exists=<replaceable>FILE</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
|
|
|
|
<para>Stop waiting if file exists.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
2019-04-10 16:12:43 +08:00
|
|
|
|
|
|
|
|
|
<para>See
|
|
|
|
|
<citerefentry><refentrytitle>systemd-udev-settle.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
|
|
|
for more information.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect2>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<refsect2><title>udevadm control <replaceable>option</replaceable></title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<para>Modify the internal state of the running udev daemon.</para>
|
|
|
|
|
<variablelist>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
<varlistentry>
|
2016-06-15 05:11:46 +08:00
|
|
|
|
<term><option>-e</option></term>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
<term><option>--exit</option></term>
|
|
|
|
|
<listitem>
|
2019-01-26 00:16:00 +08:00
|
|
|
|
<para>Signal and wait for systemd-udevd to exit. No option except for
|
|
|
|
|
<option>--timeout</option> can be specified after this option.
|
|
|
|
|
Note that <filename>systemd-udevd.service</filename> contains
|
|
|
|
|
<option>Restart=always</option> and so as a result, this option restarts systemd-udevd.
|
2019-01-17 06:25:14 +08:00
|
|
|
|
If you want to stop <filename>systemd-udevd.service</filename>, please use the following:
|
|
|
|
|
<programlisting>systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service</programlisting>
|
|
|
|
|
</para>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-l</option></term>
|
2020-09-21 17:22:12 +08:00
|
|
|
|
<term><option>--log-level=<replaceable>value</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2014-11-02 02:36:29 +08:00
|
|
|
|
<para>Set the internal log level of
|
|
|
|
|
<filename>systemd-udevd</filename>. Valid values are the
|
|
|
|
|
numerical syslog priorities or their textual
|
|
|
|
|
representations: <option>emerg</option>,
|
|
|
|
|
<option>alert</option>, <option>crit</option>,
|
|
|
|
|
<option>err</option>, <option>warning</option>,
|
|
|
|
|
<option>notice</option>, <option>info</option>, and
|
|
|
|
|
<option>debug</option>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-s</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--stop-exec-queue</option></term>
|
|
|
|
|
<listitem>
|
2012-04-17 05:32:22 +08:00
|
|
|
|
<para>Signal systemd-udevd to stop executing new events. Incoming events
|
2010-05-24 23:00:15 +08:00
|
|
|
|
will be queued.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-S</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--start-exec-queue</option></term>
|
|
|
|
|
<listitem>
|
2012-04-17 05:32:22 +08:00
|
|
|
|
<para>Signal systemd-udevd to enable the execution of events.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-R</option></term>
|
2011-12-25 23:37:15 +08:00
|
|
|
|
<term><option>--reload</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2012-04-17 05:32:22 +08:00
|
|
|
|
<para>Signal systemd-udevd to reload the rules files and other databases like the kernel
|
2011-12-25 23:37:15 +08:00
|
|
|
|
module index. Reloading rules and databases does not apply any changes to already
|
|
|
|
|
existing devices; the new configuration will only be applied to new events.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-p</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--property=<replaceable>KEY</replaceable>=<replaceable>value</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Set a global property for all events.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-m</option></term>
|
2024-04-12 17:12:15 +08:00
|
|
|
|
<term><option>--children-max=<replaceable>value</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2023-08-02 00:19:37 +08:00
|
|
|
|
<para>Set the maximum number of events, systemd-udevd will handle at the same time. When 0 is
|
|
|
|
|
specified, then the maximum is determined based on the system resources.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2019-01-13 06:44:38 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--ping</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Send a ping message to systemd-udevd and wait for the reply. This may be useful to check that
|
|
|
|
|
systemd-udevd daemon is running.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v241"/>
|
2019-01-13 06:44:38 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
<varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<term><option>-t</option></term>
|
2024-04-12 17:12:15 +08:00
|
|
|
|
<term><option>--timeout=<replaceable>seconds</replaceable></option></term>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
<listitem>
|
2012-10-16 01:38:21 +08:00
|
|
|
|
<para>The maximum number of seconds to wait for a reply from systemd-udevd.</para>
|
2011-04-13 07:17:09 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
2024-04-05 02:55:25 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--load-credentials</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When specified, the following credentials are used when passed in:</para>
|
|
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><varname>udev.conf.*</varname></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>These credentials should contain valid
|
|
|
|
|
<citerefentry><refentrytitle>udev.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
|
|
|
configuration data. From each matching credential a separate file is created. Example: a
|
|
|
|
|
passed credential <filename>udev.conf.50-foobar</filename> will be copied into a
|
|
|
|
|
configuration file <filename>/run/udev/udev.conf.d/50-foobar.conf</filename>.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><varname>udev.rules.*</varname></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>These credentials should contain valid
|
|
|
|
|
<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
|
|
|
rules. From each matching credential a separate file is created. Example: a passed credential
|
|
|
|
|
<filename>udev.rules.50-foobar</filename> will be copied into a configuration file
|
|
|
|
|
<filename>/run/udev/rules.d/50-foobar.rules</filename>.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
|
|
<para>Note, this <emphasis>does not</emphasis> imply <option>--reload</option> option. So, if
|
|
|
|
|
<command>systemd-udevd</command> is already running, please consider to also specify
|
|
|
|
|
<option>-reload</option> to make the copied udev rules files used by
|
|
|
|
|
<command>systemd-udevd</command>.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm monitor
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<para>Listens to the kernel uevents and events sent out by a udev rule
|
|
|
|
|
and prints the devpath of the event to the console. It can be used to analyze the
|
|
|
|
|
event timing, by comparing the timestamps of the kernel uevent and the udev event.
|
|
|
|
|
</para>
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-k</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--kernel</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Print the kernel uevents.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-u</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--udev</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Print the udev event after the rule processing.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-p</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--property</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Also print the properties of the event.</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-s</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--subsystem-match=<replaceable>string[/string]</replaceable></option></term>
|
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Filter kernel uevents and udev events by subsystem[/devtype]. Only events with a matching subsystem value will pass.
|
|
|
|
|
When this option is specified more than once, then each matching result is ORed, that is, all devices in the specified
|
|
|
|
|
subsystems are monitored.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-t</option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<term><option>--tag-match=<replaceable>string</replaceable></option></term>
|
|
|
|
|
<listitem>
|
2019-01-22 14:52:39 +08:00
|
|
|
|
<para>Filter udev events by tag. Only udev events with a given tag attached will pass.
|
|
|
|
|
When this option is specified more than once, then each matching result is ORed, that is, devices which have one of the
|
|
|
|
|
specified tags are monitored.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm test
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>devpath</replaceable>|<replaceable>file</replaceable>|<replaceable>unit</replaceable></optional>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</title>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<para>Simulate a udev event run for the given device, and print debug output.</para>
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-a</option></term>
|
2019-06-29 03:03:06 +08:00
|
|
|
|
<term><option>--action=<replaceable>ACTION</replaceable></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2019-08-31 12:57:34 +08:00
|
|
|
|
<para>Type of event to be simulated. Possible actions are <literal>add</literal>,
|
|
|
|
|
<literal>remove</literal>, <literal>change</literal>, <literal>move</literal>,
|
|
|
|
|
<literal>online</literal>, <literal>offline</literal>, <literal>bind</literal>,
|
|
|
|
|
and <literal>unbind</literal>. Also, the special value <literal>help</literal> can be used
|
|
|
|
|
to list the possible actions. The default value is <literal>add</literal>.</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
<varlistentry>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<term><option>-N</option></term>
|
2013-10-14 07:43:19 +08:00
|
|
|
|
<term><option>--resolve-names=<constant>early</constant>|<constant>late</constant>|<constant>never</constant></option></term>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<listitem>
|
2013-10-14 07:43:19 +08:00
|
|
|
|
<para>Specify when udevadm should resolve names of users
|
|
|
|
|
and groups. When set to <constant>early</constant> (the
|
2013-10-15 14:58:51 +08:00
|
|
|
|
default), names will be resolved when the rules are
|
|
|
|
|
parsed. When set to <constant>late</constant>, names will
|
2013-10-14 07:43:19 +08:00
|
|
|
|
be resolved for every event. When set to
|
2013-10-15 14:58:51 +08:00
|
|
|
|
<constant>never</constant>, names will never be resolved
|
2013-10-14 07:43:19 +08:00
|
|
|
|
and all devices will be owned by root.</para>
|
2023-09-18 23:03:38 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v209"/>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
2017-12-05 21:47:18 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2011-08-05 08:00:30 +08:00
|
|
|
|
|
2014-11-26 09:32:03 +08:00
|
|
|
|
<refsect2><title>udevadm test-builtin
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<replaceable>command</replaceable>
|
|
|
|
|
<optional><replaceable>devpath</replaceable>|<replaceable>file</replaceable>|<replaceable>unit</replaceable></optional>
|
2014-11-26 09:32:03 +08:00
|
|
|
|
</title>
|
2013-12-18 10:48:14 +08:00
|
|
|
|
<para>Run a built-in command <replaceable>COMMAND</replaceable>
|
|
|
|
|
for device <replaceable>DEVPATH</replaceable>, and print debug
|
|
|
|
|
output.</para>
|
2011-08-05 08:00:30 +08:00
|
|
|
|
<variablelist>
|
2021-08-17 22:14:29 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-a</option></term>
|
|
|
|
|
<term><option>--action=<replaceable>ACTION</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Type of event to be simulated. Possible actions are <literal>add</literal>,
|
|
|
|
|
<literal>remove</literal>, <literal>change</literal>, <literal>move</literal>,
|
|
|
|
|
<literal>online</literal>, <literal>offline</literal>, <literal>bind</literal>,
|
|
|
|
|
and <literal>unbind</literal>. Also, the special value <literal>help</literal> can be used
|
|
|
|
|
to list the possible actions. The default value is <literal>add</literal>.</para>
|
2023-09-18 23:03:38 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v250"/>
|
2021-08-17 22:14:29 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
2017-12-05 21:47:18 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
2023-03-14 01:12:04 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="version" />
|
2011-08-05 08:00:30 +08:00
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
|
2023-03-02 16:00:00 +08:00
|
|
|
|
<refsect2>
|
|
|
|
|
<title>udevadm verify
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>file</replaceable></optional>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
…
|
|
|
|
|
</title>
|
|
|
|
|
|
2023-05-29 16:00:00 +08:00
|
|
|
|
<para>Verify syntactic, semantic, and stylistic correctness of udev rules files.</para>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
|
2023-03-09 16:00:00 +08:00
|
|
|
|
<para>Positional arguments could be used to specify one or more files to check.
|
|
|
|
|
If no files are specified, the udev rules are read from the files located in
|
|
|
|
|
the same udev/rules.d directories that are processed by the udev daemon.</para>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
|
2023-05-29 16:00:00 +08:00
|
|
|
|
<para>The exit status is <constant>0</constant> if all specified udev
|
|
|
|
|
rules files are syntactically, semantically, and stylistically correct,
|
|
|
|
|
and a non-zero error code otherwise.</para>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-N</option></term>
|
|
|
|
|
<term><option>--resolve-names=<constant>early</constant>|<constant>never</constant></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Specify when udevadm should resolve names of users
|
|
|
|
|
and groups. When set to <constant>early</constant> (the
|
|
|
|
|
default), names will be resolved when the rules are
|
|
|
|
|
parsed. When set to <constant>never</constant>, names will
|
|
|
|
|
never be resolved.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v254"/>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
</listitem>
|
2023-03-14 01:53:09 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
2023-03-09 16:00:00 +08:00
|
|
|
|
<term><option>--root=<replaceable>PATH</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When looking for udev rules files located in udev/rules.d directories,
|
|
|
|
|
operate on files underneath the specified root path <replaceable>PATH</replaceable>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v254"/>
|
2023-03-09 16:00:00 +08:00
|
|
|
|
</listitem>
|
2023-03-02 16:00:00 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
2023-05-16 16:00:00 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--no-summary</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Do not show summary.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v254"/>
|
2023-05-16 16:00:00 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
2023-06-01 09:10:00 +08:00
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--no-style</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Ignore style issues. When specified, even if style issues are found in udev rules files,
|
|
|
|
|
the exit status is <constant>0</constant> if no syntactic or semantic errors are found.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v254"/>
|
2023-06-01 09:10:00 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
2023-03-02 16:00:00 +08:00
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
|
|
|
|
|
2022-03-26 04:01:40 +08:00
|
|
|
|
<refsect2>
|
|
|
|
|
<title>udevadm wait
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>device|syspath</replaceable></optional>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
…
|
|
|
|
|
</title>
|
|
|
|
|
|
|
|
|
|
<para>Wait for devices or device symlinks being created and initialized by
|
|
|
|
|
<command>systemd-udevd</command>. Each device path must start with
|
|
|
|
|
<literal>/dev/</literal> or <literal>/sys/</literal>, e.g. <literal>/dev/sda</literal>,
|
|
|
|
|
<literal>/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1</literal>,
|
|
|
|
|
<literal>/sys/devices/pci0000:00/0000:00:1f.6/net/eth0</literal>, or
|
|
|
|
|
<literal>/sys/class/net/eth0</literal>. This can take multiple devices. This may be useful for
|
|
|
|
|
waiting for devices being processed by <command>systemd-udevd</command> after e.g. partitioning
|
|
|
|
|
or formatting the devices.</para>
|
|
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>-t</option></term>
|
|
|
|
|
<term><option>--timeout=<replaceable>SECONDS</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Maximum number of seconds to wait for the specified devices or device symlinks being
|
|
|
|
|
created, initialized, or removed. The default value is <literal>infinity</literal>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--initialized=<replaceable>BOOL</replaceable></option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>Check if <command>systemd-udevd</command> initialized devices. Defaults to true. When
|
|
|
|
|
false, the command only checks if the specified devices exist. Set false to this setting if
|
|
|
|
|
there is no udev rules for the specified devices, as the devices will never be considered
|
|
|
|
|
as initialized in that case. See Initialized Devices section below for more details.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--removed</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When specified, the command wait for devices being removed instead of created or
|
|
|
|
|
initialized. If this is specified, <option>--initialized=</option> will be ignored.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--settle</option></term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>When specified, also watches the udev event queue, and wait for all queued events
|
|
|
|
|
being processed by <command>systemd-udevd</command>.</para>
|
2023-08-23 00:52:36 +08:00
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
|
|
|
|
|
<refsect2>
|
|
|
|
|
<title>udevadm lock
|
2023-12-24 00:34:30 +08:00
|
|
|
|
<optional><replaceable>options</replaceable></optional>
|
|
|
|
|
<optional><replaceable>command</replaceable></optional>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
…
|
|
|
|
|
</title>
|
|
|
|
|
|
2022-10-15 22:06:20 +08:00
|
|
|
|
<para><command>udevadm lock</command> takes an (advisory) exclusive lock on a block device (or all
|
|
|
|
|
specified devices), as per <ulink url="https://systemd.io/BLOCK_DEVICE_LOCKING">Locking Block Device
|
|
|
|
|
Access</ulink> and invokes a program with the locks taken. When the invoked program exits the locks
|
2022-07-21 20:04:49 +08:00
|
|
|
|
are automatically released and its return value is propagated as exit code of <command>udevadm
|
|
|
|
|
lock</command>.</para>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
|
|
|
|
|
<para>This tool is in particular useful to ensure that
|
|
|
|
|
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
|
|
|
does not probe a block device while changes are made to it, for example partitions created or file
|
|
|
|
|
systems formatted. Note that many tools that interface with block devices natively support taking
|
|
|
|
|
relevant locks, see for example
|
2022-04-12 17:02:16 +08:00
|
|
|
|
<citerefentry project='man-pages'><refentrytitle>sfdisk</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
|
2022-03-28 21:10:56 +08:00
|
|
|
|
<option>--lock</option> switch.</para>
|
|
|
|
|
|
|
|
|
|
<para>The command expects at least one block device specified via <option>--device=</option> or
|
|
|
|
|
<option>--backing=</option>, and a command line to execute as arguments.</para>
|
|
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--device=<replaceable>DEVICE</replaceable></option></term>
|
|
|
|
|
<term><option>-d <replaceable>DEVICE</replaceable></option></term>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Takes a path to a device node of the device to lock. This switch may be used
|
|
|
|
|
multiple times (and in combination with <option>--backing=</option>) in order to lock multiple
|
|
|
|
|
devices. If a partition block device node is specified the containing "whole" block device is
|
|
|
|
|
automatically determined and used for the lock, as per the specification. If multiple devices are
|
|
|
|
|
specified, they are deduplicated, sorted by the major/minor of their device nodes and then locked
|
|
|
|
|
in order.</para>
|
|
|
|
|
|
|
|
|
|
<para>This switch must be used at least once, to specify at least one device to
|
2023-08-23 00:52:36 +08:00
|
|
|
|
lock. (Alternatively, use <option>--backing=</option>, see below.)</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--backing=<replaceable>PATH</replaceable></option></term>
|
|
|
|
|
<term><option>-b <replaceable>PATH</replaceable></option></term>
|
|
|
|
|
|
|
|
|
|
<listitem><para>If a path to a device node is specified, identical to
|
|
|
|
|
<option>--device=</option>. However, this switch alternatively accepts a path to a regular file or
|
|
|
|
|
directory, in which case the block device of the file system the file/directory resides on is
|
|
|
|
|
automatically determined and used as if it was specified with
|
2023-08-23 00:52:36 +08:00
|
|
|
|
<option>--device=</option>.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--timeout=<replaceable>SECS</replaceable></option></term>
|
|
|
|
|
<term><option>-t <replaceable>SECS</replaceable></option></term>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Specifies how long to wait at most until all locks can be taken. Takes a value in
|
|
|
|
|
seconds, or in the usual supported time units, see
|
|
|
|
|
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. If
|
|
|
|
|
specified as zero the lock is attempted and if not successful the invocation will immediately
|
|
|
|
|
fail. If passed as <literal>infinity</literal> (the default) the invocation will wait indefinitely
|
|
|
|
|
until the lock can be acquired. If the lock cannot be taken in the specified time the specified
|
2023-08-23 00:52:36 +08:00
|
|
|
|
command will not be executed and the invocation will fail.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term><option>--print</option></term>
|
|
|
|
|
<term><option>-p</option></term>
|
|
|
|
|
|
2022-10-15 22:06:20 +08:00
|
|
|
|
<listitem><para>Instead of locking the specified devices and executing a command, just print the
|
|
|
|
|
device paths that would be locked, and execute no command. This command is useful to determine
|
2022-03-28 21:10:56 +08:00
|
|
|
|
the "whole" block device in case a partition block device is specified. The devices will be sorted
|
|
|
|
|
by their device node major number as primary ordering key and the minor number as secondary
|
|
|
|
|
ordering key (i.e. they are shown in the order they'd be locked). Note that the number of lines
|
man: fix issues reported by the manpage-l10n project
Fixes #25780.
> Man page: crypttab.5
> Issue 1: Missing fullstop
> Issue 2: I<cipher=>, I<hash=>, I<size=> → B<cipher=>, B<hash=>, B<size=>
>
> "Force LUKS mode\\&. When this mode is used, the following options are "
> "ignored since they are provided by the LUKS header on the device: "
> "I<cipher=>, I<hash=>, I<size=>"
Seems OK to me. The full stop is there and has been for at least a few years. And we use <option> for the markup, which is appropriate here.
> Man page: crypttab.5
> Issue 1: Missing fullstop
> Issue 2: I<cipher=>, I<hash=>, I<keyfile-offset=>, I<keyfile-size=>, I<size=> → B<cipher=>, B<hash=>, B<keyfile-offset=>, B<keyfile-size=>, B<size=>
>
> "Use TrueCrypt encryption mode\\&. When this mode is used, the following "
> "options are ignored since they are provided by the TrueCrypt header on the "
> "device or do not apply: I<cipher=>, I<hash=>, I<keyfile-offset=>, I<keyfile-"
> "size=>, I<size=>"
Same.
> Man page: journalctl.1
> Issue 1: make be → may be
Fixed.
> Issue 2: below\\&. → below:
Fixed.
> Man page: journalctl.1
> Issue: Colon at the end?
>
> "The following commands are understood\\&. If none is specified the default "
> "is to display journal records\\&."
> msgstr ""
> "Die folgenden Befehle werden verstanden\\&. Falls keiner festgelegt ist, ist "
> "die Anzeige von Journal-Datensätzen die Vorgabe\\&."
This is a bit awkward, but I'm not sure how to fix it.
> Man page: kernel-install.8
> Issue: methods a fallback → methods fallback
It was correct, but I added a comma to make the sense clearer.
> Man page: loader.conf.5
> Issue 1: secure boot variables → Secure Boot variables
> Issue 2: one → one for (multiple times)
>
> "Supported secure boot variables are one database for authorized images, one "
> "key exchange key (KEK) and one platform key (PK)\\&. For more information, "
> "refer to the \\m[blue]B<UEFI specification>\\m[]\\&\\s-2\\u[2]\\d\\s+2, "
> "under Secure Boot and Driver Signing\\&. Another resource that describe the "
> "interplay of the different variables is the \\m[blue]B<EDK2 "
> "documentation>\\m[]\\&\\s-2\\u[3]\\d\\s+2\\&."
"one of" would sound strange. "One this and one that" is OK.
> Man page: loader.conf.5
> Issue: systemd-boot → B<systemd-boot>(7)
Fixed.
> Man page: logind.conf.5
> Issue: systemd-logind → B<systemd-logind>(8)
We use <filename>systemd-logind</> on subsequent references… I think that's good enough.
> Man page: nss-myhostname.8
> Issue: B<getent> → B<getent>(1)
Fixed.
> Man page: nss-resolve.8
> Issue: B<systemd-resolved> → B<systemd-resolved>(8)
The first reference does this, subsequent are shorter.
> Man page: os-release.5
> Issue: Portable Services → Portable Services Documentation?
Updated.
> Man page: pam_systemd_home.8
> Issue: auth and account use "reason", while session and password do not?
Reworded.
> Man page: portablectl.1
> Issue: In systemd-portabled.service(8): Portable Services Documentation
Updated.
> Man page: repart.d.5
> Issue: The partition → the partition
Fixed.
> Man page: repart.d.5
> Issue: B<systemd-repart> → B<systemd-repart>(8)
The first reference does this. I also change this one, because it's pretty far down in the text.
> Man page: systemd.1
> Issue: kernel command line twice?
>
> "Takes a boolean argument\\&. If false disables importing credentials from "
> "the kernel command line, qemu_fw_cfg subsystem or the kernel command line\\&."
Apparently this was fixed already.
> Man page: systemd-boot.7
> Issue: enrollement → enrollment
Fixed.
> Man page: systemd-cryptenroll.1
> Issue: multiple cases: any specified → the specified
Reworded.
> Man page: systemd-cryptenroll.1
> Issue: If this this → If this
Fixed tree-wide.
> Man page: systemd-cryptsetup-generator.8
> Issue: and the initrd → and in the initrd
"Is honoured by the initrd" is OK, because we often speak about the initrd as a single unit. But in the same paragraph we also used "in the initrd", which makes the other use look sloppy. I changed it to "in the initrd" everywhere in that file.
> Man page: systemd.directives.7
> Issue: Why are these two quoted (but not others)?
>
> "B<\\*(Aqh\\*(Aq>"
>
> B<\\*(Aqs\\*(Aq>"
>
> "B<\\*(Aqy\\*(Aq>"
This is autogenerated from files… We use slightly different markup in different files, and it's just too hard to make it consistent. We gave up on this.
> Man page: systemd.exec.5
> Issue 1: B<at>(1p) → B<at>(1)
> Issue 2: B<crontab>(1p) → B<crontab>(1)
Fixed.
> Man page: systemd.exec.5
> Issue: B<select()> → B<select>(2)
Fixed.
> Man page: systemd.exec.5
> Issue: qemu → B<qemu>(1)
The man page doesn't seem to be in any of the canonical places on the web.
I added a link to online docs.
> Man page: systemd.exec.5
> Issue: variable → variables
Seems to be fixed already.
> Man page: systemd-integritysetup-generator.8
> Issue: systemd-integritysetup-generator → B<systemd-integritysetup-generator>
I changed <filename> to <command>.
> Man page: systemd-integritysetup-generator.8
> Issue: superfluous comma at the end
Already fixed.
> Man page: systemd-measure.1
> Issue: (see B<--pcr-bank=>) below → (see B<--pcr-bank=> below)
Reworded.
> Man page: systemd-measure.1
> Issue: =PATH> → =>I<PATH>
Fixed.
> Man page: systemd-measure.1.po
> Issue: B<--bank=DIGEST> → B<--bank=>I<DIGEST>
Fixed.
> Man page: systemd.netdev.5
> Issue: os the → on the
Appears to have been fixed already.
> Man page: systemd.netdev.5
> Issue: Onboard → On-board (as in previous string)
Updated.
> Man page: systemd.network.5
> Issue: B<systemd-networkd> -> B<systemd-networkd>(8)
First reference does this, subsequent do not.
> Man page: systemd.network.5
> Issue: B<netlabelctl> → B<netlabelctl>(8)
First reference does this, subsequent do not.
> Man page: systemd.network.5
> Issue: Missing verb (aquired? configured?) in the half sentence starting with "or by a "
I dropped the comma.
> Man page: systemd-nspawn.1
> Issue: All host users outside of that range → All other host users
Reworded.
> # FIXME no effect → no effect\\&.
> #. type: Plain text
> #: archlinux debian-unstable fedora-rawhide mageia-cauldron opensuse-tumbleweed
> msgid ""
> "Whichever ID mapping option is used, the same mapping will be used for users "
> "and groups IDs\\&. If B<rootidmap> is used, the group owning the bind "
> "mounted directory will have no effect"
A period is added. Not sure if there's some other issue.
> Man page: systemd-oomd.service.8
> Issue: B<systemd> → B<systemd>(1)
Done.
> Man page: systemd.path.5
> Issue 1: B<systemd.exec>(1) → B<systemd.exec>(5)
> Issue 2: This section does not (yet?) exist
Fixed.
> Man page: systemd-pcrphase.service.8
> Issue 1: indicate phases into TPM2 PCR 11 ??
> Issue 2: Colon at the end of the paragraph?
Fixed.
> Man page: systemd-pcrphase.service.8
> Issue: final boot phase → final shutdown phase?
Updated.
> Man page: systemd-pcrphase.service.8
> Issue: for the the → for the
Fixed tree-wide.
> Man page: systemd-portabled.service.8
> Issue: In systemd-portabled.service(8): Portable Services Documentation
Updated.
> Man page: systemd-pstore.service.8
> Issue: Here and the following paragraphs: . → \\&. // Upstream: What does this comment mean? // You normally write \\&. for a full dot (full stop etc.); here you write only "." (i.e. a plain dot).
>
> "and we look up \"localhost\", nss-dns will send the following queries to "
> "systemd-resolved listening on 127.0.0.53:53: first \"localhost.foobar.com\", "
> "then \"localhost.barbar.com\", and finally \"localhost\". If (hopefully) the "
> "first two queries fail, systemd-resolved will synthesize an answer for the "
> "third query."
Looks all OK to me.
> Man page: systemd.resource-control.5
> Issue: Missing closing bracket after link to Control Groups version 1
Fixed.
> Man page: systemd-sysext.8
> Issue: In systemd-portabled.service(8): Portable Services Documentation
Updated.
> Man page: systemd.timer.5
> Issue 1: B<systemd.exec>(1) → B<systemd.exec>(5)
> Issue 2: This section does not (yet?) exist
Fixed.
> Man page: systemd.unit.5
> Issue: that is → that are
Fixed.
> Man page: systemd-veritysetup-generator.8
> Issue: systemd-veritysetup-generator → B<systemd-veritysetup-generator>
>
> "systemd-veritysetup-generator implements B<systemd.generator>(7)\\&."
>
> "systemd-veritysetup-generator understands the following kernel command line "
> "parameters:"
Updated.
> Man page: systemd-volatile-root.service.8
> Issue: initrdyes → Initrd
Fixed.
> Man page: sysupdate.d.5
> Issue: : → \\&. (As above in TRANSFER)
Updated.
> Man page: sysupdate.d.5
> Issue: some → certain
Updated.
> Man page: sysupdate.d.5
> Issue 1: i\\&.e\\& → I\\&.e\\&
Fixed.
> Issue 2: the image → the system
"image" seems correct.
> Man page: tmpfiles.d.5
> Issue: systemd-tmpfiles → B<systemd-tmpfiles>(8)
Updated.
2023-01-11 23:45:59 +08:00
|
|
|
|
printed here can be less than the number of <option>--device=</option> and
|
2022-03-28 21:10:56 +08:00
|
|
|
|
<option>--backing=</option> switches specified in case these resolve to the same "whole"
|
2023-08-23 00:52:36 +08:00
|
|
|
|
devices.</para>
|
|
|
|
|
|
|
|
|
|
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
2022-03-28 21:10:56 +08:00
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<xi:include href="standard-options.xml" xpointer="help" />
|
|
|
|
|
</variablelist>
|
|
|
|
|
</refsect2>
|
2022-03-26 04:01:40 +08:00
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
|
<title>Initialized Devices</title>
|
|
|
|
|
|
|
|
|
|
<para>Initialized devices are those for which at least one udev rule already completed execution
|
|
|
|
|
– for any action but <literal>remove</literal> — that set a property or other device setting (and
|
|
|
|
|
thus has an entry in the udev device database). Devices are no longer considered initialized if a
|
|
|
|
|
<literal>remove</literal> action is seen for them (which removes their entry in the udev device
|
|
|
|
|
database). Note that devices that have no udev rules are never considered initialized, but might
|
|
|
|
|
still be announced via the sd-device API (or similar).</para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect1>
|
2007-11-09 00:51:59 +08:00
|
|
|
|
|
2022-03-28 21:10:56 +08:00
|
|
|
|
<refsect1>
|
|
|
|
|
<title>Example</title>
|
|
|
|
|
|
|
|
|
|
<example>
|
|
|
|
|
<title>Format a File System</title>
|
|
|
|
|
|
|
|
|
|
<para>Take a lock on the backing block device while creating a file system, to ensure that
|
|
|
|
|
<command>systemd-udevd</command> doesn't probe or announce the new superblock before it is
|
|
|
|
|
comprehensively written:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting># udevadm lock --device=/dev/sda1 mkfs.ext4 /dev/sda1</programlisting>
|
|
|
|
|
</example>
|
|
|
|
|
|
|
|
|
|
<example>
|
|
|
|
|
<title>Format a RAID File System</title>
|
|
|
|
|
|
|
|
|
|
<para>Similar, but take locks on multiple devices at once:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting># udevadm lock --device=/dev/sda1 --device=/dev/sdb1 mkfs.btrfs /dev/sda1 /dev/sdb1</programlisting>
|
|
|
|
|
</example>
|
|
|
|
|
|
|
|
|
|
<example>
|
|
|
|
|
<title>Copy in a File System</title>
|
|
|
|
|
|
|
|
|
|
<para>Take a lock on the backing block device while copying in a prepared file system image, to ensure
|
|
|
|
|
that <command>systemd-udevd</command> doesn't probe or announce the new superblock before it is fully
|
|
|
|
|
written:</para>
|
|
|
|
|
|
|
|
|
|
<programlisting># udevadm lock -d /dev/sda1 dd if=fs.raw of=/dev/sda1</programlisting>
|
|
|
|
|
</example>
|
|
|
|
|
</refsect1>
|
|
|
|
|
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refsect1>
|
|
|
|
|
<title>See Also</title>
|
2023-12-23 02:09:32 +08:00
|
|
|
|
<para><simplelist type="inline">
|
|
|
|
|
<member><citerefentry>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
<refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
|
2023-12-23 02:09:32 +08:00
|
|
|
|
</citerefentry></member>
|
|
|
|
|
<member><citerefentry>
|
2012-06-22 16:38:40 +08:00
|
|
|
|
<refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum>
|
2023-12-23 02:09:32 +08:00
|
|
|
|
</citerefentry></member>
|
|
|
|
|
</simplelist></para>
|
2010-05-24 23:00:15 +08:00
|
|
|
|
</refsect1>
|
|
|
|
|
</refentry>
|