我在Ubuntu 12.04中为我的APC UPS设置了一些udev规则,我使用附带的* -net.rules作为参考.当我在我的-ups.rules中使用ATTR {} ==“”匹配但它不起作用时,我不得不切换到ATTRS {} ==“”以使其工作.
现在我想知道:
>在eth0和eth1的udev规则中构建的系统是否已损坏?
>他们应该使用ATTRS代替ATTR吗?
>我如何检查以确保它们正常工作?
>我如何列出网络设备的ATTRS?我找不到运行udevadm的设备节点.
解决方法
看看udev的手册页:
ATTR{filename} Match sysfs attribute values of the event device. Trailing whitespace in the attribute values is ignored,if the specified match value does not contain trailing whitespace itself.
VS
ATTRS{filename} Search the devpath upwards for a device with matching sysfs attribute values. If multiple ATTRS matches are specified,all of them must match on the same device. Trailing whitespace in the attribute values is ignored,if the specified match value does not contain trailing whitespace itself.
ATTR {}仅查看正在添加的节点. ATTRS {}搜索树.您的UPS可能需要ATTRS {},因为您需要的sysfs属性不在您指定的节点上.