X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fudev.xml;h=e253a0677a95c4a7a7e9b5aea9adbf305bfcf2d7;hb=a016b9228f338cb9b380ce7e00826ef462767d98;hp=168b1dc1501e84c708041c394bc20eee81ceeb5c;hpb=d3a2386d15d73b34fa990960696f87e0503ffdb2;p=elogind.git
diff --git a/man/udev.xml b/man/udev.xml
index 168b1dc15..e253a0677 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -41,7 +41,7 @@
names provide a way to reliably identify devices based on their properties or
current configuration.
- The udev daemon, udevd
+ The udev daemon, systemd-udevd.service8, receives device uevents directly from
the kernel whenever a device is added or removed from the system, or it changes its
state. When udev receives a device event, it matches its configured set of rules
@@ -54,36 +54,7 @@
sources is provided by the library libudev.
- Configuration
- udev configuration files are placed in /etc/udev
- and /usr/lib/udev. All empty lines or lines beginning with
- '#' are ignored.
-
- Configuration file
- udev expects its main configuration file at /etc/udev/udev.conf.
- It consists of a set of variables allowing the user to override default udev values.
- The following variables can be set:
-
-
-
-
- Specifies where to place the device nodes in the filesystem.
- The default value is /dev.
-
-
-
-
-
-
- The logging priority. Valid values are the numerical syslog priorities
- or their textual representations: ,
- and .
-
-
-
-
-
- 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
@@ -102,9 +73,10 @@
extensions are ignored.Every line in the rules file contains at least one key-value pair.
- There are two kind of keys: match and assignment.
- If all match keys are matching against its value, the rule gets applied and the
- assignment keys get the specified value assigned.
+ Except for empty lines or lines beginning with '#', which are ignored.
+ There are two kinds of keys: match and assignment.
+ If all match keys match against their values, the rule gets applied and the
+ assignment keys get the specified values assigned.A matching rule may rename a network interface, add symlinks
pointing to the device node, or run a specified program as part of
@@ -115,21 +87,21 @@
operators are:
-
+ ==Compare for equality.
-
+ !=Compare for inequality.
-
+ =Assign a value to a key. Keys that represent a list are reset
and only this single value is assigned.
@@ -137,14 +109,14 @@
-
+ +=Add the value to a key that holds a list of entries.
-
+ :=Assign a value to a key finally; disallow any later changes.
@@ -156,7 +128,7 @@
not only the device that has generated the event. If multiple keys that match
a parent device are specified in a single rule, all these keys must match at
one and the same parent device.
-
+
@@ -287,6 +259,8 @@
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
+ see .
@@ -303,19 +277,19 @@
pattern characters are supported:
-
+ *Matches zero or more characters.
-
+ ?Matches any single character.
-
+ []Matches any single character specified within the brackets. For
example, the pattern string 'tty[SR]' would match either 'ttyS' or 'ttyR'.
@@ -328,12 +302,12 @@
The following keys can get values assigned:
-
+ The name to use for a network interface. The name of a device node
- can not be changed by udev, only additional symlinks can be created.
+ cannot be changed by udev, only additional symlinks can be created.
@@ -341,21 +315,26 @@
The name of a symlink targeting the node. Every matching rule adds
- this value to the list of symlinks to be created. Multiple symlinks may be
- specified by separating the names by the space character. In case multiple
- devices claim the same name, the link always points to the device with
- the highest link_priority. If the current device goes away, the links are
- re-evaluated and the device with the next highest link_priority becomes the owner of
- the link. If no link_priority is specified, the order of the devices (and
- which one of them owns the link) is undefined. Also, symlink names must
- never conflict with the kernel's default device node names, as that would
- result in unpredictable behavior.
+ this value to the list of symlinks to be created.
+ The set of characters to name a symlink is limited. Allowed
+ characters are [0-9A-Za-z#+-.:=@_/], valid utf8 character sequences,
+ and "\x00" hex encoding. All other characters are replaced by
+ a '_' character.
+ Multiple symlinks may be specified by separating the names by the
+ space character. In case multiple devices claim the same name, the link
+ always points to the device with the highest link_priority. If the current
+ device goes away, the links are re-evaluated and the device with the
+ next highest link_priority becomes the owner of the link. If no
+ link_priority is specified, the order of the devices (and which one of
+ them owns the link) is undefined.
+ Symlink names must never conflict with the kernel's default device
+ node names, as that would result in unpredictable behavior.
-
+ , , The permissions for the device node. Every specified value overrides
the compiled-in default value.
@@ -393,18 +372,37 @@
-
+
- Add a program to the list of programs to be executed for a specific
- device.
- If no absolute path is given, the program is expected to live in
- /usr/lib/udev, otherwise the absolute path must be specified. The program
- name and following arguments are separated by spaces. Single quotes can
- be used to specify arguments with spaces.
- This can only be used for very short running tasks. Running an
+ Add a program to the list of programs to be executed after processing all the
+ rules for a specific event, depending on type:
+
+
+ program
+
+ Execute 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.
+
+
+
+ builtin
+
+ As , but use one of the built-in programs rather
+ than an external one.
+
+
+
+ The program name and following arguments are separated by spaces.
+ Single quotes can be used to specify arguments with spaces.
+ 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 for udev.
+ this or a dependent device.
+ 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.
@@ -426,10 +424,10 @@
Import a set of variables as device properties,
- depending on type:
+ depending on type:
-
+ programExecute an external program specified as the assigned value and
import its output, which must be in environment key
@@ -438,14 +436,21 @@
-
+ builtin
+
+ As , but use one of the built-in programs rather
+ than an external one.
+
+
+
+ fileImport a text file specified as the assigned value, the content
of which must be in environment key format.
-
+ dbImport a single property specified as the assigned value from the
current device database. This works only if the database is already populated
@@ -453,14 +458,14 @@
-
+ cmdlineImport a single property from the kernel command line. For simple flags
the value of the property is set to '1'.
-
+ parentImport the stored keys from the parent device by reading
the database entry of the parent device. The value assigned to
@@ -470,6 +475,8 @@
+ This can only be used for very short-running foreground tasks. For details
+ see .
@@ -486,7 +493,7 @@
Rule and device options:
-
+
@@ -513,10 +520,9 @@
Apply the permissions specified in this rule to the static device node with
- the specified name. Static device nodes might be provided by kernel modules
- or copied from /usr/lib/udev/devices. These nodes might not have
- a corresponding kernel device at the time udevd is started; they can trigger
- automatic kernel module loading.
+ 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.
@@ -544,7 +550,7 @@
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:
-
+ ,
@@ -675,26 +681,25 @@
-
+ %%The '%' character itself.
-
+ $$The '$' character itself.
-
See Also
- udevd8
+ systemd-udevd.service8,
udevadm8