In /etc/udev/rules.d/10-local.rules stand bei mir Folgendes:
BUS=="usb", KERNEL=="sd?1", ATTR{manufacturer}=="LaCie*", NAME="%k", SYMLINK+="usbhdd1"
Mit einem der udev-Updates der letzten Jahre scheint sich die Notation solcher Regel etwas geändert zu haben, weshalb beim Boot-Prozess meines Linux-Servers kurzzeitig eine Fehlermeldung aufflackerte:
udevd[xxx]: invalid rule '/lib/udev/rules.d/10-local.rules:1'
Das Debugging solcher Fehlermeldungen und Regeln ist ganz einfach — wenn man weiss wie.
Auf der Kommandozeile führt man folgenden Befehl aus:
# udevadm test /etc/udev/rules.d/10-local.rules load module index read rules file: /etc/udev/rules.d/10-local.rules unknown key 'BUS' in /etc/udev/rules.d/10-local.rules:1 invalid rule '/etc/udev/rules.d/10-local.rules:1' ...
Quelle: Debugging udev rules
Und siehe da, heute scheint das neu folgendermassen zu heissen:
SUBSYSTEM=="usb"
Nach der Änderung prüft man die Syntax erneut:
# udevadm test /etc/udev/rules.d/10-local.rules load module index read rules file: /etc/udev/rules.d/10-local.rules unknown key 'SYSFS{manufacturer}' in /etc/udev/rules.d/10-local.rules:1 invalid rule '/etc/udev/rules.d/10-local.rules:1' ...
Aha, heute heisst das offenbar:
ATTR{manufacturer}
… und ab sofort motzt udevd nicht mehr rum:
# udevadm test /etc/udev/rules.d/10-local.rules load module index read rules file: /etc/udev/rules.d/10-local.rules read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules ...
Der Abend ist gerettet.