我正在尝试从 CentOS 7 kickstart 的 %pre 部分设置绑定网络。我可以证明以下绑定网络有效:
network --device=mynetwork --bondslaves=eth0,eth1 --bootproto static --ip 192.168.0.1 --activate --onboot yes --noipv6 --netmask=255.255.0.0
network --hostname=testy
但是,当我尝试添加/tmp/network.ks
并导入时,它不起作用。我想知道我做错了什么。
我在与上述各行相同的位置添加导入,如下所示:
%include /tmp/network.ks
然后我将相同的行直接附加到导入中:
%pre
echo "network --device=mynetwork --bondslaves=eth0,eth1 --bootproto static --ip 192.168.0.1 --activate --onboot yes --noipv6 --netmask=255.255.0.0" >/tmp/network.ks
echo "network --hostname=testy" >>/tmp/network.ks
%end
根据文档所述,这些不是功能等同的吗?
使用 %include /path/to/file 命令将另一个文件的内容包含在 Kickstart 文件中,就好像该内容位于 Kickstart 文件中 %include 命令的位置一样。
答案1
事实证明,当我从部分设置绑定网络时%pre
,我需要设置--bondopts
。目前尚不清楚为什么当它没有在主体中而不是部分中设置时会起作用%pre
,但我发布此信息以防有人遇到同样的问题:
%pre
echo "network --device=mynetwork --bondslaves=eth0,eth1 --bootproto static --ip 192.168.0.1 --activate --onboot yes --noipv6 --netmask=255.255.0.0 --bondopts=mode=active-backup,primary=eth0,miimon=80,updelay=6000" >/tmp/network.ks
echo "network --hostname=testy" >>/tmp/network.ks
%end
这样就能达到预期的结果。