X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=man%2Fudev.xml;h=54a2dd33dd89034071678a4dd1e99771bc5e8733;hb=38bf2b26bd232ec6aea1d1a9ff2887e3ba23f41c;hp=2353b1002307de25fe8b4da8e23f92080782d036;hpb=909f413d3c572baadf9b13e36e1e90beba42af86;p=elogind.git
diff --git a/man/udev.xml b/man/udev.xml
index 2353b1002..54a2dd33d 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -30,7 +30,7 @@
udev
- Linux dynamic device management
+ Dynamic device managementDescription
@@ -54,23 +54,21 @@
sources is provided by the library libudev.
- Rules files
+ Rules FilesThe udev rules are read from the files located in the
system rules directory /usr/lib/udev/rules.d,
the volatile runtime directory /run/udev/rules.d
and the local administration directory /etc/udev/rules.d.
All rules files are collectively sorted and processed in lexical order,
regardless of the directories in which they live. However, files with
- identical file names replace each other. Files in /etc
+ identical filenames replace each other. Files in /etc
have the highest priority, files in /run take precedence
- over files with the same name in /lib. This can be
+ over files with the same name in /usr/lib. This can be
used to override a system-supplied rules file with a local file if needed;
a symlink in /etc with the same name as a rules file in
- /lib, pointing to /dev/null,
- disables the rules file entirely.
-
- Rule files must have the extension .rules; other
- extensions are ignored.
+ /usr/lib, pointing to /dev/null,
+ disables the rules file entirely. Rule files must have the extension
+ .rules; other extensions are ignored.
Every line in the rules file contains at least one key-value pair.
Except for empty lines or lines beginning with #, which are ignored.
@@ -257,9 +255,9 @@
Execute a program to determine whether there
is a match; the key is true if the program returns
successfully. The device properties are made available to the
- executed program in the environment. The program's stdout
- is available in the RESULT key.
- This can only be used for very short-running foreground tasks. For details
+ executed program in the environment. The program's standard ouput
+ is available in the RESULT key.
+ This can only be used for very short-running foreground tasks. For details,
see RUN.
@@ -267,13 +265,14 @@
RESULT
- Match the returned string of the last PROGRAM call. This key can
- be used in the same or in any later rule after a PROGRAM call.
+ Match the returned string of the last PROGRAM call.
+ This key can be used in the same or in any later rule after a
+ PROGRAM call.
- Most of the fields support shell-style pattern matching. The following
+ Most of the fields support shell glob pattern matching. The following
pattern characters are supported:
@@ -295,9 +294,10 @@
example, the pattern string tty[SR]
would match either ttyS or ttyR.
Ranges are also supported via the - character.
- For example, to match on the range of all digits, the pattern [0-9] could
- be used. If the first character following the [ is a
- !, any characters not enclosed are matched.
+ For example, to match on the range of all digits, the pattern
+ [0-9] could be used. If the first character
+ following the [ is a !,
+ any characters not enclosed are matched.
@@ -342,6 +342,13 @@
+
+ SECLABEL{module}
+
+ Applies the specified Linux Security Module label to the device node.
+
+
+
ATTR{key}
@@ -355,7 +362,8 @@
Set a device property value. Property names with a leading .
are neither stored in the database nor exported to events or
- external tools (run by, say, the PROGRAM match key).
+ external tools (run by, for example, the PROGRAM
+ match key).
@@ -375,24 +383,26 @@
RUN{type}
- Add a program to the list of programs to be executed after processing all the
- rules for a specific event, depending on type:
+ Add a program to the list of programs to be executed after
+ processing all the rules for a specific event, depending on
+ type:programExecute an external program specified as the assigned
- value. If no absolute path is given, the program is expected to live in
- /usr/lib/udev, otherwise the absolute path must be specified.
- This is the default if no type is
- specified.
+ value. If no absolute path is given, the program is expected
+ to live in /usr/lib/udev; otherwise, the
+ absolute path must be specified.
+ This is the default if no type
+ is specified.builtin
- As program, but use one of the built-in programs rather
- than an external one.
+ As program, but use one of the
+ built-in programs rather than an external one.
@@ -401,7 +411,7 @@
This can only be used for very short-running foreground tasks. Running an
event process for a long period of time may block all further events for
this or a dependent device.
- Starting daemons or other long running processes is not appropriate
+ Starting daemons or other long-running processes is not appropriate
for udev; the forked processes, detached or not, will be unconditionally
killed after the event handling has finished.
@@ -410,14 +420,14 @@
LABEL
- A named label to which a GOTO may jump.
+ A named label to which a GOTO may jump.GOTO
- Jumps to the next LABEL with a matching name.
+ Jumps to the next LABEL with a matching name.
@@ -471,7 +481,7 @@
Import the stored keys from the parent device by reading
the database entry of the parent device. The value assigned to
is used as a filter of key names
- to import (with the same shell-style pattern matching used for
+ to import (with the same shell glob pattern matching used for
comparisons).
@@ -520,17 +530,24 @@
- Apply the permissions specified in this rule to the static device node with
- the specified name. Static device node creation can be requested by kernel modules.
- These nodes might not have a corresponding kernel device at the time systemd-udevd is
- started; they can trigger automatic kernel module loading.
+ Apply the permissions specified in this rule to the
+ static device node with the specified name. Also, for every
+ tag specified in this rule, create a symlink
+ in the directory
+ /run/udev/static_node-tags/tag
+ pointing at the static device node with the specified name.
+ Static device node creation is performed by systemd-tmpfiles
+ before systemd-udevd is started. The static nodes might not
+ have a corresponding kernel device; they are used to trigger
+ automatic kernel module loading when they are accessed.
- Watch the device node with inotify; when the node is closed after being opened for
- writing, a change uevent is synthesized.
+ Watch the device node with inotify; when the node is
+ closed after being opened for writing, a change uevent is
+ synthesized.
@@ -544,13 +561,15 @@
- The NAME, SYMLINK, PROGRAM,
- OWNER, GROUP, MODE and RUN
- fields support simple string substitutions. The RUN
- substitutions are performed after all rules have been processed, right before the program
- is executed, allowing for the use of device properties set by earlier matching
- rules. For all other fields, substitutions are performed while the individual rule is
- being processed. The available substitutions are:
+ The NAME, SYMLINK,
+ PROGRAM, OWNER,
+ GROUP, MODE, and
+ RUN fields support simple string substitutions.
+ The RUN substitutions are performed after all rules
+ have been processed, right before the program is executed, allowing for
+ the use of device properties set by earlier matching rules. For all other
+ fields, substitutions are performed while the individual rule is being
+ processed. The available substitutions are:,
@@ -563,7 +582,8 @@
, The kernel number for this device. For example,
- sda3 has kernel number 3.
+ sda3 has kernel number 3.
+
@@ -577,8 +597,9 @@
,
- The name of the device matched while searching the devpath upwards for
- , , and .
+ The name of the device matched while searching the devpath
+ upwards for , ,
+ , and .
@@ -586,8 +607,10 @@
- The driver name of the device matched while searching the devpath upwards for
- , , and .
+ The driver name of the device matched while searching the
+ devpath upwards for ,
+ , , and
+ .
@@ -596,12 +619,15 @@
, The value of a sysfs attribute found at the device where
- all keys of the rule have matched. If the matching device does not have
- such an attribute, and a previous KERNELS, SUBSYSTEMS, DRIVERS, or
- ATTRS test selected a parent device, then the attribute from that
- parent device is used.
- If the attribute is a symlink, the last element of the symlink target is
- returned as the value.
+ all keys of the rule have matched. If the matching device does not
+ have such an attribute, and a previous ,
+ , , or
+ test selected a parent device, then the
+ attribute from that parent device is used.
+
+ If the attribute is a symlink, the last element of the
+ symlink target is returned as the value.
+
@@ -629,7 +655,8 @@
,
- The string returned by the external program requested with PROGRAM.
+ The string returned by the external program requested with
+ PROGRAM.
A single part of the string, separated by a space character, may be selected
by specifying the part number as an attribute: %c{N}.
If the number is followed by the + character, this part plus all remaining parts
@@ -697,13 +724,272 @@
+ Hardware Database Files
+ The hwdb files are read from the files located in the
+ system hwdb directory /usr/lib/udev/hwdb.d,
+ the volatile runtime directory /run/udev/hwdb.d
+ and the local administration directory /etc/udev/hwdb.d.
+ All hwdb files are collectively sorted and processed in lexical order,
+ regardless of the directories in which they live. However, files with
+ identical filenames replace each other. Files in /etc
+ have the highest priority, files in /run take precedence
+ over files with the same name in /usr/lib. This can be
+ used to override a system-supplied hwdb file with a local file if needed;
+ a symlink in /etc with the same name as a hwdb file in
+ /usr/lib, pointing to /dev/null,
+ disables the hwdb file entirely. hwdb files must have the extension
+ .hwdb; other extensions are ignored.
+
+ The hwdb file contains data records consisting of matches and
+ associated key-value pairs. Every record in the hwdb starts with one or
+ more match string, specifying a shell glob to compare the database
+ lookup string against. Multiple match lines are specified in additional
+ consecutive lines. Every match line is compared indivdually, they are
+ combined by OR. Every match line must start at the first character of
+ the line.
+
+ The match lines are followed by one or more key-value pair lines, which
+ are recognized by a leading space character. The key name and value are separated
+ by =. An empty line signifies the end
+ of a record. Lines beginning with # are ignored.
+
+ The content of all hwdb files is read by
+ udevadm8
+ and compiled to a binary database located at /etc/udev/hwdb.bin.
+ During runtime only the binary database is used.
+
+
+ Network Link Configuration
+ Network link configuration is performed by the net_setup_link
+ udev builtin.
+
+ The link files are read from the files located in the
+ system network directory /usr/lib/systemd/network,
+ the volatile runtime network directory /run/systemd/network
+ and the local administration network directory /etc/systemd/network.
+ Link files must have the extension .link; other extensions are ignored.
+ All link files are collectively sorted and processed in lexical order,
+ regardless of the directories in which they live. However, files with
+ identical filenames replace each other. Files in /etc
+ have the highest priority, files in /run take precedence
+ over files with the same name in /usr/lib. This can be
+ used to override a system-supplied link file with a local file if needed;
+ a symlink in /etc with the same name as a link file in
+ /usr/lib, pointing to /dev/null,
+ disables the link file entirely.
+
+ The link file contains a [Match] section, which
+ determines if a given link file may be applied to a given device; and a
+ [Link] section specifying how the device should be
+ configured. The first (in lexical order) of the link files that matches
+ a given device is applied.
+
+ A link file is said to match a device if each of the entries in the
+ [Match] section matches, or if the section is empty.
+ The following keys are accepted:
+
+
+
+ MACAddress
+
+ The hardware address.
+
+
+
+
+ Path
+
+ The persistent path, as exposed by the udev property ID_PATH.
+
+
+
+ Driver
+
+ The driver currently bound to the device, as exposed by the udev property DRIVER.
+
+
+
+ Type
+
+ The device type, as exposed by the udev property DEVTYPE.
+
+
+
+
+ The [Link] section accepts the following keys:
+
+
+
+ Description
+
+ A description of the device.
+
+
+
+ Alias
+
+ The ifalias is set to this value.
+
+
+
+ MACAddressPolicy
+
+ The policy by which the MAC address should be set. The
+ available policies are:
+
+
+
+ persistent
+
+ If the hardware has a persistent MAC address, as most
+ hardware should, and this is used by the kernel, nothing is
+ done. Otherwise, a new MAC address is generated which is
+ guaranteed to be the same on every boot for the given
+ machine and the given device, but which is otherwise random.
+
+
+
+
+ random
+
+ If the kernel is using a random MAC address, nothing is
+ done. Otherwise, a new address is randomly generated each
+ time the device appears, typically at boot.
+
+
+
+
+
+
+
+ MACAddress
+
+ The MAC address to use, if no MACAddressPolicy
+ is specified.
+
+
+
+
+ NamePolicy
+
+ An ordered, space-separated list of policies by which the
+ interface name should be set. NamePolicy may
+ be disabled by specifying net.ifnames=0 on the
+ kernel commandline. Each of the policies may fail, and the first
+ successful one is used. The name is not set directly, but
+ is exported to udev as the property ID_NET_NAME,
+ which is, by default, used by a udev rule to set
+ NAME. The available policies are:
+
+
+
+ onboard
+
+ The name is set based on information given by the
+ firmware for on-board devices, as exported by the udev
+ property ID_NET_NAME_ONBOARD.
+
+
+
+
+ slot
+
+ The name is set based on information given by the
+ firmware for hot-plug devices, as exported by the udev
+ property ID_NET_NAME_SLOT.
+
+
+
+
+ path
+
+ The name is set based on the device's physical location,
+ as exported by the udev property
+ ID_NET_NAME_PATH.
+
+
+
+
+ mac
+
+ The name is set based on the device's persistent MAC
+ address, as exported by the udev property
+ ID_NET_NAME_MAC.
+
+
+
+
+
+
+
+ Name
+
+ The interface name to use in case all the policies specified
+ in NamePolicy fail, or in case
+ NamePolicy is missing or disabled.
+
+
+
+
+ MTU
+
+ The MTU to set for the device.
+
+
+
+ SpeedMBytes
+
+ The speed to set for the device.
+
+
+
+ Duplex
+
+ The duplex mode to set for the device. The accepted values
+ are half and full.
+
+
+
+
+ WakeOnLan
+
+ The Wake-on-LAN policy to set for the device. The supported
+ values are:
+
+
+
+ phy
+
+ Wake on PHY activity.
+
+
+
+ magic
+
+ Wake on receipt of a magic packet.
+
+
+
+ off
+
+ Never wake.
+
+
+
+
+
+
+
+
See Also
-
+
+ systemd-udevd.service8,
udevadm8
-
+
+