Contents
The kernel can add or remove almost any device in the running system.
Changes in device state (whether a device is plugged in or removed) need
to be propagated to userspace. Devices need to be configured as soon as
they are plugged in and discovered. Users of a certain device need to be
informed about any state changes of this device. udev provides the needed
infrastructure to dynamically maintain the device node files and symbolic
links in the /dev directory. udev rules provide a way
to plug external tools into the kernel device event processing. This
enables you to customize udev device handling, for example, by adding
certain scripts to execute as part of kernel device handling, or request
and import additional data to evaluate during device handling.
The device nodes in the /dev directory provide
access to the corresponding kernel devices. With udev, the
/dev directory reflects the current state of the
kernel. Every kernel device has one corresponding device file. If a
device is disconnected from the system, the device node is removed.
The content of the /dev directory is kept on a
temporary file system and all files are created from scratch at every
system start-up. Manually created or changed files intentionally do not
survive a reboot. Static files and directories that should always be
present in the /dev directory regardless of the
state of the corresponding kernel device can be placed in the
/lib/udev/devices directory. At system start-up, the
contents of that directory is copied to the /dev
directory with the same ownership and permissions as the files in
/lib/udev/devices.