debian 上随机重启后 udev 规则停止工作

debian 上随机重启后 udev 规则停止工作

/etc/udev/rules.d/hostname_netinterface.rules我在文件中有 9 个网络接口 udev 规则。这是esxi上的虚拟机。我在重新启动后界面不断变化后创建了这个文件。它工作了一段时间,但几个月后再次重新启动,正在工作的同一个文件突然停止了。

文件格式如下所示:共有 9 个。

file: /etc/udev/rules.d/hostname_netinterface.rules

KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:22", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:44", NAME="eth1"
KERNEL=="eth*", SYSFS{address}=="22:22:33:44:33:55", NAME="eth2"
 and so on up until eth9

我检查了 syslog,它对第 1-9 行进行了如下说明:

unknown key 'SYSFS{address}' in /etc/udev/rules.d/010_netinterfaces.rules:9

这一定是由于 Debian 中的无人值守的安全更新而导致的,因为这已经工作了几个月了。请帮忙。

答案1

我不知道它为什么起作用,但如果你这样做是为了检查你的 udev 的网络接口。

user@host:~$ udevadm info -a -p /sys/class/net/eth0 |grep address
ATTR{address}=="22:22:33:44:33:22"

请注意地址ATTR前面有 ,而不是SYSFS。我更改了我的文件并替换SYSFSATTR并修复了它。

KERNEL=="eth*", ATTR{address}=="22:22:33:44:33:22", NAME="eth0"

这之前是有效的,所以我的假设是“无意识升级”在 udev 中进行了更改。

答案2

我面临着类似的问题。就我而言,我将 .rules 文件从本地推送到目标。当 udev 规则重新加载时,它就可以工作了。但是,当我重新启动目标时,规则没有得到应用。 Soln:使用更新的 .rules 文件重新构建您的映像。这对我有用。似乎 udev 守护进程验证 .rules 文件的构建时间校验和。因此,它不会加载本地修改和推送的新规则文件。

相关内容