Назад | Перейти на главную страницу

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