我正在使用Ubuntu 12.04 LTS服务器版本,并且正在修改/etc/udev/rules.d/70-persistent-net.rules来定义我自己的以太网接口到MAC地址的映射; 该文件最初由/lib/udev/rules.d/75-persistent-net-generator.rules中的规则在系统安装时生成(或者在第一次启动时,我实际上不知道,这里没关系)。
我怎样才能确定我的编辑版本永远不会被任何东西覆盖?
根据某些网站的build议,删除持久性networking生成器并不是正确的事情,只能通过文件本身的注释来实现:它会被udev软件包的任何更新所覆盖。 我正在寻找更正式的方法来禁用它。
只要确保/etc/udev/rules.d/70-persistent-net.rules确实存在就足够了吗? 也许还有其他事件可能引发其再生? (例如,添加或删除以太网接口到系统?)
禁用生成器的正确方法是用空文件覆盖它。 /etc/udev/rules.d任何规则将优先于/lib/udev/rules.d规则,因此只需创build一个空文件或符号链接到/dev/null :
sudo touch /etc/udev/rules.d/75-persistent-net-generator.rules -OR- sudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules
这是安全的,面向未来的。
你应该看看这个文件: /etc/udev/rules.d/README然后你可以看到,你自己的udev规则文件的名字应该比75-persistent-net-generator.rules有更高的数字。 因此,使用您自己的设置创build一个名为/etc/udev/rules.d/76-persistent-net.rules的新规则文件。
用于在批次中重新生成此规则的额外分。 通常我会在DevOps练习中使用它
for i in `cat /tmp/allnode.lst | awk '{print $1}'`; do echo $i; \ ssh $i 'mv /lib/udev/rules.d/75-persistent-net-generator.rules /tmp/'; done
allnode.lst中的第1列是IP地址