73-usb-net-by-mac.rules 与 net.ifnames 存在问题

73-usb-net-by-mac.rules 与 net.ifnames 存在问题

我发现73-usb-net-by-mac.rules文件存在奇怪的问题。

此 udev 规则文件会检查 net.ifnames 是否在内核命令行中定义,然后它会转到最后并跳过中间的规则,如下所示:

IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"

不知怎的,这在我这边不起作用。我的意思是,我net.ifnames=0在内核命令行中仍然执行了 usb 网络命名规则。

如果我像下面这样拆分上述规则行,那么它就可以正常工作:

IMPORT{cmdline}="net.ifnames"
ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"

是不是 udev 没有解析IMPORT同一行上 key 之后的键?

如果我做错了什么或者规则需要更改,你能告诉我吗?

答案1

这是 ubuntu(和 debian)中 73-net-by-mac.rules 版本的问题,已在 pkg-systemd 源的标签 debian/233-5 中修复。

这些变化产生的二进制包似乎尚未进入 debian 或 ubuntu apt 存储库。

作为参考,更正后的文件位于此处:

https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/tree/debian/extra/rules/73-usb-net-by-mac.rules?h=debian/233-5

回复 user.dz:我实际上使用的是 Debian 8.7。我不知道原帖者使用的是哪个发行版,但我推测 ubuntu 和 debian 都会有同样的问题(因为两者似乎都使用来自同一来源的软件包)。文件的安装名称是 /lib/udevd/rules.d/73-usb-net-by-mac.rules。它归 udev 软件包所有。

相关内容