我正在编写一个使用 ID_PATH 的 udev 规则,只是为了使设备在插入的端口上保持持久性。
这就是我所拥有的
KERNEL=="ttyUSB?",SUBSYSTEM=="tty",ENV{ID_BUS}=="usb",ENV{ID_PATH}=="pci-0000:00:12.0-usb-0:1:1.0",SYMLINK="bla"
最初,文件名为 52-foo.rules,但不起作用。我将其重命名为 81-foo.rules,然后就可以正常工作了。
就好像 ENV{} 值只有在数字足够大时才有效。有人能解释一下为什么会这样吗?
谢谢,
答案1
也许您的规则正在被另一条规则覆盖。由于编号较高的规则最后运行,因此当您使用编号较高的规则时,该规则不会被覆盖。
< 60 most user rules; if you want to prevent an assignment being
overriden by default rules, use the := operator.
these cannot access persistent information such as that from
vol_id
< 70 rules that run helpers such as vol_id to populate the udev db
< 90 rules that run other programs (often using information in the
udev db)
>=90 rules that should run last
查看这