70-persistent-net.rules无法自动生成,解决方法

无法自动生成70-persistent-net.rules文件的原因:  

  在更换linux内核前修改ifcfg-eth0文件,更换内核,使用dhclient无法动态分配IP,删掉70-persistent-net.rules文件,重启系统。

  在/dev/udev/rules.d文件夹下没有自动生成70-persistent-net.rules文件。

解决方法:

  手动执行/lib/udev/write_net_rules

  如果提示信息为:

    missing $INTERFACE

  添加变量:

    export INTERFACE="eth0"

  执行:

    /lib/udev/write_net_rules

  如果提示信息为:

    missing valid match

  添加变量:

    export MATCHADDR="xx:xx:xx:xx:xx:xx"   // MAC地址

  执行:

    /lib/udev/write_net_rules

  这时在/etc/udev/rules.d文件夹下就生成70-persistent-net.rules文件。

注意:

write_net_rules是一个脚本,这个脚本并不是在所有系统中都有,需要自己手动安装(也可能可以使用包管理自动安装,但是我没有找到)。

安装过程如下(已在centos7验证,可正常使用):

1、下载udev源码:

  https://github.com/lu-zero/udev

2、编译源码:

  cd udev-master 

  ./autogen.sh

  ./configure CFLAGS='-g -O1 -lrt'  --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 --enable-gtk-doc --libexecdir=/usr/lib --with-systemdsystemunitdir=/usr/lib/systemd/system     

  // 注意,这里要加上 -lrt,不然会报:

   make && make install

  // 注意,这里一定要安装,不然会报错。

  // 在这个过程中可能系统中会少一些东西,提前安装一下工具:

  pam-devel、gtk-doc-tools/gtk-doc、libblkid-devel、kmod-devel、usbutils、libgnomeui-devel、glib2、gpref等。

3、运行write_net_rules

  参考解决方法。

posted @ 2019-06-24 16:01  insistYuan  阅读(12179)  评论(0编辑  收藏  举报