У меня есть 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. И попробуйте, насколько ограничено разрешение имен на данном этапе цикла.