Я установил имя хоста непосредственно в файле кикстарта.
Если вы пытаетесь повторно использовать один и тот же шаблон, вы можете проявить изобретательность и использовать немного PHP, чтобы передать что-то установщику. Файлы кикстарта - это http, поэтому вы можете сделать что-то вроде:
ks=http://repo.brazzers.com/ks/kickstart.php?hostname=kitty
... где kitty - это переменная в файле кикстарта, которая заполняет параметр - hostname =
Или лучший способ - использовать более надежную структуру обеспечения, например Cobbler .
Я пытался сделать это с помощью virt-install и нашел статью в блоге с отличным решением этой проблемы. Решение использует / proc / cmdlines, переданные ядру во время загрузки, для извлечения имени хоста с помощью раздела до кикстарта и записи временного файла, который затем включается в основной раздел кикстарта.
http://monzell.com/ post / 15547967527 / automatic-set-the-hostname-during-kickstart
Блог предназначался для кикстарта виртуальных машин в KVM. Но я не вижу причин, по которым это не сработает ни в каком другом сценарии кикстарта, где вы можете легко передать аргументы загрузки ядра.
Я предпочитаю этот метод с использованием bash:
%include /tmp/network.txt
%pre
#!/bin/sh
exec < /dev/tty3 > /dev/tty3 2>&1
chvt 3
hn=""
while [ "$hn" == "" ]; do
clear
echo " *** Please enter the following details: *** "
echo
read -p "Hostname: " hn
done
clear
chvt 1
echo "network --device eth0 --bootproto static --noipv6 --hostname ${hn}" > /tmp/network.txt