| <?xml version='1.0'?> |
| <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?> |
| <!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> |
| <refmiscinfo class="version"></refmiscinfo> |
| </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 hwdb <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 <optional><replaceable>OPTIONS</replaceable></optional> <optional><replaceable>DEVPATH</replaceable>|<replaceable>FILE</replaceable></optional></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> |
| </refsect2> |
| |
| <refsect2><title>udevadm trigger <optional>options</optional></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>NAME</replaceable></option></term> |
| <listitem> |
| <para>Trigger events for devices with a matching sys |
| device name. This option can be specified multiple times |
| and supports shell style pattern matching.</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> |
| </refsect2> |
| |
| <refsect2><title>udevadm settle <optional>options</optional></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>-s</option></term> |
| <term><option>--seq-start=<replaceable>SEQNUM</replaceable></option></term> |
| <listitem> |
| <para>Wait only for events after the given sequence |
| number.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>-e</option></term> |
| <term><option>--seq-end=<replaceable>SEQNUM</replaceable></option></term> |
| <listitem> |
| <para>Wait only for events before the given sequence number.</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>-q</option></term> |
| <term><option>--quiet</option></term> |
| <listitem> |
| <para>Do not print any output, like the remaining queue entries when reaching the timeout.</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>-x</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 systemd-udevd. Valid values are the numerical |
| syslog priorities or their textual representations: <option>err</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 <optional>options</optional></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 events by subsystem[/devtype]. Only udev 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 events by property. 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 hwdb <optional>options</optional></title> |
| <para>Maintain the hardware database index in <filename>/etc/udev/hwdb.bin</filename>.</para> |
| <variablelist> |
| <varlistentry> |
| <term><option>-u</option></term> |
| <term><option>--update</option></term> |
| <listitem> |
| <para>Compile the hardware database information located in /usr/lib/udev/hwdb.d/, |
| /etc/udev/hwdb.d/ and store it in <filename>/etc/udev/hwdb.bin</filename>. This should be done after |
| any update to the source files; it will not be called automatically. The running |
| udev daemon will detect a new database on its own and does not need to be |
| notified about it.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>-t</option></term> |
| <term><option>--test=<replaceable>string</replaceable></option></term> |
| <listitem> |
| <para>Query the database with a modalias string, and print the |
| retrieved properties.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><option>-r</option></term> |
| <term><option>--root=<replaceable>string</replaceable></option></term> |
| <listitem> |
| <para>Alternative root path in the file system for reading and writing files.</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 <optional>options</optional> <replaceable>devpath</replaceable></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 <optional>options</optional> <replaceable>COMMAND</replaceable> <replaceable>DEVPATH</replaceable></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> |