udev 服务打印等级
永久生效
/etc/udev/udev.conf
# see udev.conf(5) for details
#
# udevd is also started in the initrd. When this file is modified you might
# also want to rebuild the initrd, so that it will include the modified configurr
ation.
#udev_log=info
udev_log=debug
#children_max=
#exec_delay=
#event_timeout=180
#timeout_signal=SIGKILL
#resolve_names=early
单次生效
sudo udevadm control --log-level=debug
查看命令
journalctl -u systemd-udevd
udev 规则文件
/etc/udev/rules.d/ 和 /usr/lib/udev/rules.d/ 是两个常见的存储位置,它们分别有不同的用途和优先级
/etc/udev/rules.d/
- 目的:这是用于用户或管理员自定义设备规则的目录。在此目录中,您可以添加、修改或覆盖默认的 udev 规则。
- 优先级:该目录中的规则优先级高于 /usr/lib/udev/rules.d/ 中的规则。因此,如果有同名的规则文件,/etc/udev/rules.d/ 中的规则会覆盖 /usr/lib/udev/rules.d/ 中的规则
- 用法:如果你需要针对特定硬件设备进行个性化配置(例如,设备名称、权限设置、符号链接等),通常会将自定义规则放在该目录下。例如,你可以为某些 USB 设备编写规则,改变它们的设备名称或权限
/usr/lib/udev/rules.d/
- 目的:这个目录包含了系统默认的 udev 规则文件,通常由系统软件包和操作系统维护。这里的规则文件一般不会手动修改,而是由包管理器自动更新和管理。
- 优先级:/usr/lib/udev/rules.d/ 中的规则优先级低于 /etc/udev/rules.d/ 中的规则。如果在两个目录中都存在同名规则文件,/etc/udev/rules.d/ 中的文件会被优先应用。
- 用法:这些规则通常由硬件供应商、操作系统发行版或内核模块提供,用于管理设备的自动化配置。例如,这些规则文件可以配置设备节点的名称、符号链接、设备权限等。
总结:/etc/udev/rules.d/:用于用户自定义和覆盖系统默认的 udev 规则。/usr/lib/udev/rules.d/:包含系统默认的规则文件,由操作系统或软件包管理器提供。用户应该在 /etc/udev/rules.d/ 中添加或修改规则,以避免直接修改系统的默认规则文件,从而保持系统的可维护性。
常用udevadm命令:monitor control trigger info
- 这个命令用于监视内核和 udev 的事件,通常用于调试和检查设备的添加、移除或更改等事件。
udevadm monitor -p &
- udev 会重新加载所有的规则文件,并立即应用新的规则。你不需要重启系统或手动停止/启动 udev 服务
udevadm control --reload-rules
- 触发特定设备的 udev 规则
sudo udevadm trigger --subsystem-match=block --action=add
sudo udevadm trigger /dev/mmcblk1 --action=add
- 查看当前设备的状态或属性
udevadm info --query=all --name=/dev/sda