mirror of
https://github.com/systemd/systemd.git
synced 2024-12-05 08:13:48 +08:00
aa9744df55
--tag-match only filters tags, not properties --tag-match only has an effect on udev events --subsystem-match filters both event types
577 lines
23 KiB
XML
577 lines
23 KiB
XML
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<refentry id="udevadm">
|
|
<refentryinfo>
|
|
<title>udevadm</title>
|
|
<productname>systemd</productname>
|
|
<authorgroup>
|
|
<author>
|
|
<contrib>Developer</contrib>
|
|
<firstname>Kay</firstname>
|
|
<surname>Sievers</surname>
|
|
<email>kay@vrfy.org</email>
|
|
</author>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>udevadm</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>udevadm</refname><refpurpose>udev management tool</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>udevadm</command>
|
|
<arg><option>--debug</option></arg>
|
|
<arg><option>--version</option></arg>
|
|
<arg><option>--help</option></arg>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm info <replaceable>options</replaceable></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm trigger <optional>options</optional></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm settle <optional>options</optional></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm control <replaceable>command</replaceable></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm monitor <optional>options</optional></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm test <optional>options</optional> <replaceable>devpath</replaceable></command>
|
|
</cmdsynopsis>
|
|
<cmdsynopsis>
|
|
<command>udevadm test-builtin <optional>options</optional> <replaceable>command</replaceable> <replaceable>devpath</replaceable></command>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1><title>Description</title>
|
|
<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>
|
|
</refsect1>
|
|
|
|
<refsect1><title>Options</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>--debug</option></term>
|
|
<listitem>
|
|
<para>Print debug messages to standard error.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--version</option></term>
|
|
<listitem>
|
|
<para>Print version number.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<refsect2><title>udevadm info
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
<arg choice="opt"><replaceable>devpath</replaceable>|<replaceable>file</replaceable></arg>
|
|
</title>
|
|
|
|
<para>Queries the udev database for device information
|
|
stored in the udev database. It can also query the properties
|
|
of a device from its sysfs representation to help creating udev
|
|
rules that match this device.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-q</option></term>
|
|
<term><option>--query=<replaceable>TYPE</replaceable></option></term>
|
|
<listitem>
|
|
<para>Query the database for the specified type of device
|
|
data. It needs the <option>--path</option> or
|
|
<option>--name</option> to identify the specified device.
|
|
Valid <replaceable>TYPE</replaceable>s are:
|
|
<constant>name</constant>, <constant>symlink</constant>,
|
|
<constant>path</constant>, <constant>property</constant>,
|
|
<constant>all</constant>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-p</option></term>
|
|
<term><option>--path=<replaceable>DEVPATH</replaceable></option></term>
|
|
<listitem>
|
|
<para>The <filename>/sys</filename> path of the device to
|
|
query, e.g.
|
|
<filename><optional>/sys</optional>/class/block/sda</filename>.
|
|
Note that this option usually is not very useful, since
|
|
<command>udev</command> can guess the type of the
|
|
argument, so <command>udevadm
|
|
--devpath=/class/block/sda</command> is equivalent to
|
|
<command>udevadm /sys/class/block/sda</command>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-n</option></term>
|
|
<term><option>--name=<replaceable>FILE</replaceable></option></term>
|
|
<listitem>
|
|
<para>The name of the device node or a symlink to query,
|
|
e.g. <filename><optional>/dev</optional>/sda</filename>.
|
|
Note that this option usually is not very useful, since
|
|
<command>udev</command> can guess the type of the
|
|
argument, so <command>udevadm --name=sda</command> is
|
|
equivalent to <command>udevadm /dev/sda</command>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-r</option></term>
|
|
<term><option>--root</option></term>
|
|
<listitem>
|
|
<para>Print absolute paths in <command>name</command> or <command>symlink</command>
|
|
query.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-a</option></term>
|
|
<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>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-x</option></term>
|
|
<term><option>--export</option></term>
|
|
<listitem>
|
|
<para>Print output as key/value pairs. Values are enclosed in single quotes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-P</option></term>
|
|
<term><option>--export-prefix=<replaceable>NAME</replaceable></option></term>
|
|
<listitem>
|
|
<para>Add a prefix to the key name of exported values.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-d</option></term>
|
|
<term><option>--device-id-of-file=<replaceable>FILE</replaceable></option></term>
|
|
<listitem>
|
|
<para>Print major/minor numbers of the underlying device, where the file
|
|
lives on.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-e</option></term>
|
|
<term><option>--export-db</option></term>
|
|
<listitem>
|
|
<para>Export the content of the udev database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-c</option></term>
|
|
<term><option>--cleanup-db</option></term>
|
|
<listitem>
|
|
<para>Cleanup the udev database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--version</option></term>
|
|
<listitem>
|
|
<para>Print version.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>In addition, an optional positional argument can be used
|
|
to specify a device name or a sys path. It must start with
|
|
<filename>/dev</filename> or <filename>/sys</filename>
|
|
respectively.</para>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm trigger
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
<arg choice="opt" rep="repeat"><replaceable>devpath</replaceable>|<replaceable>file</replaceable></arg></title>
|
|
<para>Request device events from the kernel. Primarily used to replay events at system coldplug time.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-v</option></term>
|
|
<term><option>--verbose</option></term>
|
|
<listitem>
|
|
<para>Print the list of devices which will be triggered.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-n</option></term>
|
|
<term><option>--dry-run</option></term>
|
|
<listitem>
|
|
<para>Do not actually trigger the event.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-t</option></term>
|
|
<term><option>--type=<replaceable>TYPE</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger a specific type of devices. Valid types are:
|
|
<command>devices</command>, <command>subsystems</command>.
|
|
The default value is <command>devices</command>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-c</option></term>
|
|
<term><option>--action=<replaceable>ACTION</replaceable></option></term>
|
|
<listitem>
|
|
<para>Type of event to be triggered. The default value is
|
|
<command>change</command>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-s</option></term>
|
|
<term><option>--subsystem-match=<replaceable>SUBSYSTEM</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for devices which belong to a
|
|
matching subsystem. This option can be specified multiple
|
|
times and supports shell style pattern matching.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-S</option></term>
|
|
<term><option>--subsystem-nomatch=<replaceable>SUBSYSTEM</replaceable></option></term>
|
|
<listitem>
|
|
<para>Do not trigger events for devices which belong to a matching subsystem. This option
|
|
can be specified multiple times and supports shell style pattern matching.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-a</option></term>
|
|
<term><option>--attr-match=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
|
<listitem>
|
|
<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. This option can be specified
|
|
multiple times.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-A</option></term>
|
|
<term><option>--attr-nomatch=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
|
<listitem>
|
|
<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. This option can be specified
|
|
multiple times.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-p</option></term>
|
|
<term><option>--property-match=<replaceable>PROPERTY</replaceable>=<replaceable>VALUE</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for devices with a matching property
|
|
value. This option can be specified multiple times and
|
|
supports shell style pattern matching.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-g</option></term>
|
|
<term><option>--tag-match=<replaceable>PROPERTY</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for devices with a matching tag. This
|
|
option can be specified multiple times.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-y</option></term>
|
|
<term><option>--sysname-match=<replaceable>PATH</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for devices with a matching sys
|
|
device path. This option can be specified multiple times
|
|
and supports shell style pattern matching.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--name-match=<replaceable>NAME</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for devices with a matching
|
|
device path. This option can be specified multiple
|
|
times.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-b</option></term>
|
|
<term><option>--parent-match=<replaceable>SYSPATH</replaceable></option></term>
|
|
<listitem>
|
|
<para>Trigger events for all children of a given
|
|
device.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>In addition, optional positional arguments can be used
|
|
to specify device names or sys paths. They must start with
|
|
<filename>/dev</filename> or <filename>/sys</filename>
|
|
respectively.</para>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm settle
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
</title>
|
|
<para>Watches the udev event queue, and exits if all current events are handled.</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 event
|
|
queue to become empty. The default value is 120 seconds. A
|
|
value of 0 will check if the queue is empty and always
|
|
return immediately.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-E</option></term>
|
|
<term><option>--exit-if-exists=<replaceable>FILE</replaceable></option></term>
|
|
<listitem>
|
|
<para>Stop waiting if file exists.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm control <replaceable>command</replaceable></title>
|
|
<para>Modify the internal state of the running udev daemon.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-e</option></term>
|
|
<term><option>--exit</option></term>
|
|
<listitem>
|
|
<para>Signal and wait for systemd-udevd to exit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-l</option></term>
|
|
<term><option>--log-priority=<replaceable>value</replaceable></option></term>
|
|
<listitem>
|
|
<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>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-s</option></term>
|
|
<term><option>--stop-exec-queue</option></term>
|
|
<listitem>
|
|
<para>Signal systemd-udevd to stop executing new events. Incoming events
|
|
will be queued.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-S</option></term>
|
|
<term><option>--start-exec-queue</option></term>
|
|
<listitem>
|
|
<para>Signal systemd-udevd to enable the execution of events.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-R</option></term>
|
|
<term><option>--reload</option></term>
|
|
<listitem>
|
|
<para>Signal systemd-udevd to reload the rules files and other databases like the kernel
|
|
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>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-p</option></term>
|
|
<term><option>--property=<replaceable>KEY</replaceable>=<replaceable>value</replaceable></option></term>
|
|
<listitem>
|
|
<para>Set a global property for all events.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-m</option></term>
|
|
<term><option>--children-max=</option><replaceable>value</replaceable></term>
|
|
<listitem>
|
|
<para>Set the maximum number of events, systemd-udevd will handle at the
|
|
same time.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>--timeout=</option><replaceable>seconds</replaceable></term>
|
|
<listitem>
|
|
<para>The maximum number of seconds to wait for a reply from systemd-udevd.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm monitor
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
</title>
|
|
<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>
|
|
<term><option>-k</option></term>
|
|
<term><option>--kernel</option></term>
|
|
<listitem>
|
|
<para>Print the kernel uevents.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-u</option></term>
|
|
<term><option>--udev</option></term>
|
|
<listitem>
|
|
<para>Print the udev event after the rule processing.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-p</option></term>
|
|
<term><option>--property</option></term>
|
|
<listitem>
|
|
<para>Also print the properties of the event.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-s</option></term>
|
|
<term><option>--subsystem-match=<replaceable>string[/string]</replaceable></option></term>
|
|
<listitem>
|
|
<para>Filter kernel uevents and udev events by subsystem[/devtype]. Only events with a matching subsystem value will pass.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-t</option></term>
|
|
<term><option>--tag-match=<replaceable>string</replaceable></option></term>
|
|
<listitem>
|
|
<para>Filter udev events by tag. Only udev events with a given tag attached will pass.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm test
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
<arg><replaceable>devpath</replaceable></arg>
|
|
</title>
|
|
<para>Simulate a udev event run for the given device, and print debug output.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-a</option></term>
|
|
<term><option>--action=<replaceable>string</replaceable></option></term>
|
|
<listitem>
|
|
<para>The action string.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-N</option></term>
|
|
<term><option>--resolve-names=<constant>early</constant>|<constant>late</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>late</constant>, names will
|
|
be resolved for every event. When set to
|
|
<constant>never</constant>, names will never be resolved
|
|
and all devices will be owned by root.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2><title>udevadm test-builtin
|
|
<arg choice="opt"><replaceable>options</replaceable></arg>
|
|
<arg><replaceable>command</replaceable></arg>
|
|
<arg><replaceable>devpath</replaceable></arg>
|
|
</title>
|
|
<para>Run a built-in command <replaceable>COMMAND</replaceable>
|
|
for device <replaceable>DEVPATH</replaceable>, and print debug
|
|
output.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
<term><option>--help</option></term>
|
|
<listitem>
|
|
<para>Print help text.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para><citerefentry>
|
|
<refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry></para>
|
|
</refsect1>
|
|
</refentry>
|