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