systemd-udevd.service
Manages device events with udev rules
SYNOPSIS
systemd-udevd
DESCRIPTION
systemd-udevd
manages device events as the central event dispatcher for the kernel device manager, udev.
It listens to kernel uevents, filters them based on configurable rules, and executes actions based on the device's properties. These actions can include creating device nodes in /dev, loading kernel modules, and running user-space programs to configure the device. systemd-udevd
replaces the older udev daemon. It integrates tightly with systemd for service management and logging. The goal is to provide a dynamic device management system that reacts to hardware changes and configures devices automatically. Rule matching is fast, and the architecture enables parallel processing of device events, improving system boot times and device initialization responsiveness. systemd-udevd
is an essential component for any modern Linux system to properly recognize and configure hardware. It depends on a set of udev rules found in /usr/lib/udev/rules.d/, /run/udev/rules.d/, and /etc/udev/rules.d/. The rules provide instructions on how to handle specific types of devices.
CAVEATS
The daemon relies heavily on udev rules. Incorrect or conflicting rules can lead to unexpected device behavior. Troubleshooting udev rules can sometimes be challenging.
CONFIGURATION FILES
Udev rules are located in /usr/lib/udev/rules.d/
, /run/udev/rules.d/
, and /etc/udev/rules.d/
. Files in /etc/udev/rules.d/
take precedence over those in /run/udev/rules.d/
, which in turn take precedence over those in /usr/lib/udev/rules.d/
.
TROUBLESHOOTING
Common issues involve incorrect permissions on device nodes, missing or misconfigured rules, and failing hardware. The udevadm monitor
command is useful for debugging device events.
HISTORY
udev was initially developed as part of the systemd suite of tools to replace older device management mechanisms like devfs and hotplug. The initial versions of udev were standalone, eventually being integrated into systemd as the systemd-udevd service.