我正在使用ks选项安装CentOS 7。 例:
ks=http://10.0.0.100:8080/anaconda-ks.cfg
从这个configuration文件中,我该如何“dynamic”获取其位置的URL?
在这种情况下,我想这个: "http://10.0.0.100:8080/"
编辑:最终,我在做什么是匹配的机器对Python字典(JSON文件)的MAC地址,以确定在安装过程中设置哪个主机名。 我想避免将URL的JSON文件硬编码到kickstartconfiguration脚本中。
内核命令行中唯一有用的kickstart脚本。 你可以访问这个
/proc/cmdline
如果您使用的是我在这里提供的解决scheme,那么您可以阅读ks=...参数。 您可以将/ proc / cmdline传递给pipe道,类似
url=`sed 's/=/ /g' /proc/cmdline | awk '{for(i=1; i<=NF; i++) if ($i~/ks/) print $(i+1)}'`
一旦我们将=转换为空格,就会将ks后面的字段返回给url 。
我无法访问kickstart环境,因此您可能需要使用path来稍微debugging一下。
您可以发送主机名参数作为内核参数(virt-install调用中的–extra-args)。 例如:
# virt-install \ -n centos \ -r 2048 \ --vcpus=1 \ --os-variant=rhel7 \ -accelerate \ -w bridge:virbr0 \ --disk path=/opt/vm/test2.qcow2,size=100 \ -l /opt/iso/CentOS-7.0-1406-x86_64-DVD.iso \ --name test2 \ --extra-args "ks=http://192.168.122.1/ks.cfg ksdevice=eth0 ip=192.168.122.40 netmask=255.255.255.0 dns=8.8.8.8 gateway=192.168.122.1 hostname=my-hostname"
主机名将自动configuration为my-hostname。