Я настраивал некоторые правила udev в Ubuntu 12.04 для своих ИБП APC и использовал прилагаемый *-net.rules
как ссылки. Когда я использовал ATTR{}==""
соответствие в моем -ups.rules
хотя это не сработало, мне пришлось переключиться на ATTRS{}==""
чтобы заставить его работать.
Теперь мне интересно:
udev
правила для eth0
и eth1
сломан?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.
против
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{}
ищет дерево. Вероятно, вашему ИБП понадобилось ATTRS{}
потому что нужный вам атрибут sysfs не находится в указанном вами узле.