我已将eth1
界面名称更改为eth0
。udev
现在如何要求重新读取配置?
service udev restart
和
udevadm control --reload-rules
不要帮忙 那么,除了重新启动之外,还有什么有效的方法吗?(是的,重新启动有助于解决此问题)
是的,我知道我应该在命令前加上
sudo
,但是上面发布的任何一个都不会改变ifconfig -a
输出:我仍然看到了eth1
,没有eth0
。我只是更改了
NAME
udev-rule行的属性。不知道任何无效的原因。
我上面发布的两个命令的执行没有任何错误,但是它们只是不更改ifconfig -a
输出中的实际接口名称。如果执行重新引导-接口名称将按预期更改。
出于开发目的,我编写了一些脚本来克隆虚拟机(由VirtualBox驱动)并以某种方式对其进行预先设置。
因此,我执行了一个命令来克隆VM,启动它,只要更改udev
了网络接口MAC,就将第二条规则添加到网络持久性规则中。首次启动计算机后,有两个规则:
eth0
,只要它存在于原始VM映像MAC中,就不存在eth1
,虽然存在,但是所有文件中的所有配置都参考eth0
,所以对我来说不是那么好
因此,我用sed
删除行eth0
(在克隆映像中已过时且无用),并替换eth1
为eth0
。因此,目前我有有效的持久规则,但仍然eth1
存在/dev
。
问题:我不想重新引导计算机(这将需要花费一些时间,这在构建VM阶段不是一件好事),只想/dev
用某些命令重新构建我的现成的VM无需重新启动。
udev
在中动态生成设备/dev
。如果重新启动,它将根据其规则重新生成它们。一般来说,直接对它们进行的更改不是持久的。重启似乎udev
正常,但您只是没有正确更改设备名称。
udev
仅在找不到特定设备的规则时才添加(而不修改)新规则。如果存在匹配的规则,则无需修改即可。
eth1
为eth0
?您刚刚重命名了设备文件吗?如果是这样,那不是一种有效的方法(您应该期望通过成功重新启动udev
守护程序来还原更改)。如果您使用了其他方法,请对其进行详细描述,并提供运行尝试的命令(用于重新启动udev
守护程序或重新加载其规则)时所看到的所有错误消息的完整和准确的文本。您可以编辑问题以提供此信息。