Я использую ISO-образ netinstall CentOS 6 с некоторыми файлами кикстарта на http-сервере. Когда ISO загружается, я нажимаю TAB и ввожу параметры загрузки asknetwork ks=http://<ip-address>/path/to/kickstart.ks
.
Мои файлы кикстарта не имеют network
параметр, поэтому он должен быть подсказкой. Когда я ухожу asknetwork
он пытается использовать DHCP. С участием asknetwork
он запрашивает только IP-информацию.
К сожалению, anaconda одержима автоматическим обнаружением имени хоста, что в конечном итоге является обратным DNS-поиском IP-адреса, или localhost.localdomain
если ничего не было найдено.
Есть ли способ заставить anaconda запрашивать имя хоста или какой-либо способ предварительно ввести его с помощью настраиваемого параметра загрузки?
Раньше было network --bootproto=query
для CentOS 5, но это больше не работает в 6.
Я устанавливаю имя хоста напрямую в файле кикстарта.
Если вы пытаетесь повторно использовать один и тот же шаблон, вы можете проявить творческий подход и использовать немного PHP, чтобы передать что-то установщику. Файлы кикстарта - это http, поэтому вы можете сделать что-то вроде:
ks=http://repo.brazzers.com/ks/kickstart.php?hostname=kitty
...где Китти это переменная в файле кикстарта, которая заполняет --hostname=
параметр
Или лучший способ - использовать более надежную инфраструктуру подготовки, например Сапожник.
Я предпочитаю этот метод с использованием 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
Я пытался сделать это с помощью virt-install и нашел статью в блоге с отличным решением этой проблемы. В решении используются / proc / cmdlines, переданные ядру во время загрузки, для извлечения имени хоста с помощью раздела предварительного запуска и записи временного файла, который затем включается в основной раздел кикстарта.
http://monzell.com/post/15547967527/automatically-set-the-hostname-during-kickstart
Блог предназначался для запуска виртуальных машин в KVM. Но я не вижу причин, по которым это не сработает в любом другом сценарии кикстарта, где вы можете легко передать аргументы загрузки ядра.