我如何让 Kickstart 根据客户端的子网选择运行哪个版本?

我如何让 Kickstart 根据客户端的子网选择运行哪个版本?

我有 2 个可能的子网,可以使用 Kickstart 在其中构建系统,客户端的子网将指示应进行哪个构建。我该怎么做?

我尝试了以下 %pre 脚本,但目前收效甚微。在 CentOS 6.6 上:

%pre
mysubnet=$(echo `hostname -I` | cut -d'.' -f3)
echo "url --url http://192.168.$mysubnet.1/CENTOS/6/os" > /tmp/url-include
%end

...在 ks 文件的顶部有以下内容(为简洁起见省略):

install
text
%include /tmp/url-include   

我在构建时检查了 url-include 的内容,它确实似乎包含所有正确和预期的信息,但总是提示我输入安装类型。

根据要求添加更多信息

install
text
%include /tmp/url-include
lang en_US.UTF-8
keyboard uk
network --onboot yes --device eth0 --bootproto dhcp --noipv6
firewall --disabled
selinux --disabled
timezone --utc Europe/London
reboot

%include /tmp/repo-include

%pre
#!/bin/bash

mysubnet=$(echo `hostname -I` | cut -d'.' -f3)

echo "url --url http://192.168.$mysubnet.1/CENTOS/6/os" > /tmp/url-include

echo "repo --name=\"CentOS\"  --baseurl=http://192.168.$mysubnet.1/CENTOS/6/extras/x86_64/Packages --cost=100" > /tmp/repo-include


%end

目前我正准备尝试另一种方法,该方法涉及隔离 tftp 流量,然后应用网络配置 %post install。并尝试在周期的这个点上名称解析的限制程度。

相关内容