Kickstart:ifcfg-eth0文件在从networking安装时由kickstart生成,而在安装时从initrd生成USB

当我用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