如何在不重启的情况下重新生成 70-persistent-net.rules?

Tom*_*s M 15 linux udev

该文件/etc/udev/rules.d/70-persistent-net.rules是在带有 udev 的 Linux 系统上自动生成的,如果它不存在,则在重启期间。但我想知道如何在不重新启动服务器的情况下创建此规则文件(使用命令)。

我在谷歌上搜索了一段时间,发现规则文件是由这个脚本生成的:

/lib/udev/write_net_rules
Run Code Online (Sandbox Code Playgroud)

但是,无法从命令行运行此脚本,因为(我假设)它希望由 udev 启动,并正确设置了一些环境变量。手动启动它会打印错误消息“缺少 $INTERFACE”。即使我在脚本启动之前设置了 env 变量 INTERFACE=eth0,它仍然会打印错误“缺少有效匹配”。更不用说我有两个接口(eth0eth1),我希望为两者生成规则文件。

我也想触发这样的 udev 事件,希望它会从 udev 本身启动脚本,但没有任何改变:

udevadm trigger --type=devices --action=change
Run Code Online (Sandbox Code Playgroud)

那么,有人知道如何在/etc/udev/rules.d/70-persistent-net.rules不重启的情况下重新生成文件中的持久网络规则吗?

rus*_*ush 5

根据手册页--action=changeudevadm.

   -c, --action=ACTION
       Type of event to be triggered. The default value is change.
Run Code Online (Sandbox Code Playgroud)

因此,您最好尝试一下--action=add。它应该有帮助:

/sbin/udevadm trigger --type=devices --action=add
Run Code Online (Sandbox Code Playgroud)