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

Другие вопросы по тегам