当我用kickstart文件和networking安装Fedora 19时,生成的ifcfg-eth0文件由kickstart生成:
# Generated by parse-kickstart
但是,如果我使用相同的kickstart文件并通过U盘进行安装,则ifcfg文件由initrd生成。
# Generated by dracut initrd
kickstart文件中设置networking设置的行如下所示:
network --device=eth0 --bootproto=dhcp --hostname=SOMEHOSTNAME
在没有通过networking安装的情况下,是否将kickstart文件中的networking设备设置保留下来?
在kickstart文件中,我们将networking设备定义为eth0。 使用新版本的Fedora(可能还有其他发行版),网卡不再被称为eth0或eth1,操作系统使用该卡的BIOS名称(更多信息请参见此处 )。
由于我们正在构build的机器上使用的脚本,我们要求网卡以旧的命名约定命名。 我知道这不是解决问题的好办法,但是修复我们使用的所有脚本的时间投入是不可行的,并且不在本项目的范围之内。
我通常在kickstart文件的%post
部分做这件事。
比如像这样
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOM TYPE=Ethernet BOOTPROTO=dhcp NAME=eth0 ONBOOT=yes EOM
把你想要的任何设置放在那里。 我通常用HWADDR=$(/usr/sbin/ifconfig eth0 | grep -Po '(?<=ether )([0-9a-f]{2}[:-]){5}([0-9a-f]{2})'
来parsingMAC地址。 HWADDR=$(/usr/sbin/ifconfig eth0 | grep -Po '(?<=ether )([0-9a-f]{2}[:-]){5}([0-9a-f]{2})'
或类似的东西,并添加它,所以它看起来像这样:
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOM HWADDR=$HWADDR TYPE=Ethernet BOOTPROTO=dhcp NAME=eth0 ONBOOT=yes EOM
如果情况是设备名称已经改变,那么在/etc/sysconfig/network-scripts/
可能已经有一个文件已经被dracut创build了。 只需使用ip addr show
或其他东西来找出操作系统调用您的网卡,并在相应的ifcfg-XXX
文件中设置NAME=eth0
。 这应该是足够简单的做。
我想你应该在文件isolinux.cfg中添加选项net.ifnames = 0 kernel命令,该选项将把networking接口设置为ifcfg-enX的 ifcfg-ethX intead 。
network –device eth0 –bootproto dhcp –ipv6 xxxxx :: 10/64 –gateway xxxxx:1 –nameserver –hostname foo.example.com