如何重新加载udev规则,以便新创建的udev能够正常工作?
我正在运行Arch,这里没有udevstart
命令。
还检查了/etc/rc.d
,那里没有udev服务。
发布于 2012-05-26 00:59:08
# udevadm control --reload-rules && udevadm trigger
发布于 2012-05-28 00:55:12
Udev使用inotify机制监视规则目录、库和本地配置树(通常位于/lib/udev/rules.d
和/etc/udev/rules.d
)中的更改。因此,大多数情况下,当您更改规则文件时,不需要做任何事情。
您只需要显式地通知udev守护进程,如果您正在做一些不寻常的事情,例如,如果您有一条规则将文件包含在另一个目录中。然后,您可以使用通常的惯例要求守护进程重新加载它们的配置:发送一个SIGHUP (pkill -HUP udevd
)。也可以使用udevadm
命令:udevadm control --reload-rules
。
但是,请注意,不同版本的udev历来都有不同的触发器来自动重新加载规则。因此,如果有疑问,打电话给udevadm control --reload-rules
:反正也不会有什么坏处。
udev规则仅在添加设备时应用。如果要将规则重新应用于已连接的设备,则需要显式地执行此操作,方法是调用具有正确选项的udevadm trigger
来匹配配置已更改的设备(S),例如udevadm trigger --attr-match=vendor='Yoyodyne' --attr-match=model='Frobnicator 300'
。
发布于 2014-02-21 13:51:46
我增加这个是因为总有一天我会需要它..。再来一次。
有时,您得到一个不正确的匹配以太网设备号码和MAC地址。有时候,这是非常重要的,比如在VM中运行时,每个设备都分配给不同的VLAN。
/etc/udev/rules.d/70-persistent-net.rules
(或其等价物)udevadm control --reload-rules
重新加载udevadm trigger --attr-match=subsystem=net
重新触发我很惊讶这件事有多好。
https://unix.stackexchange.com/questions/39370
复制相似问题