Como obter o kickstart do CentOS 6 para solicitar o hostname?

4

Estou usando o ISO netinstall do CentOS 6 com alguns arquivos de kickstart em um servidor http. Quando o ISO é inicializado, clico em TAB e insiro as opções de inicialização asknetwork ks=http://<ip-address>/path/to/kickstart.ks .

Meus arquivos de kickstart não possuem o parâmetro network , portanto, ele deve ser solicitado. Quando deixo de fora asknetwork , ele tenta usar o DHCP. Com asknetwork , ele apenas solicita informações de IP.

Infelizmente, o anaconda está empenhado em descobrir automaticamente o nome do host, que acaba sendo uma pesquisa de DNS reversa do IP, ou localhost.localdomain se nada foi encontrado.

Existe uma maneira de fazer o anaconda solicitar o nome do host ou alguma maneira de inseri-lo previamente através de uma opção de inicialização personalizada?

Costumava haver network --bootproto=query para o CentOS 5, mas isso não funciona mais em 6.

    
por Luke 23.10.2012 / 21:05

3 respostas

4

Eu defino o nome do host no arquivo de kickstart diretamente.

Se você está tentando reutilizar o mesmo modelo, pode ser criativo e usar um pouco de PHP para passar algo para o instalador. Os arquivos do Kickstart são http, então você pode fazer algo como:

ks=http://repo.brazzers.com/ks/kickstart.php?hostname=kitty

... onde kitty é uma variável no arquivo de kickstart que preenche o parâmetro --hostname=

Ou o melhor caminho é usar uma estrutura de provisionamento mais robusta, como o Cobbler .

    
por 23.10.2012 / 21:16
1

Eu prefiro esse método usando o 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
    
por 13.01.2015 / 16:35
0

Eu estava tentando fazer isso com virt-install e encontrei um artigo no blog com uma excelente solução para isso. A solução usa o / proc / cmdlines passado para o kernel no momento da inicialização para extrair um nome de host usando uma seção pré-kickstart e gravar um arquivo temporário que é então incluído na seção principal do kickstart.

link

O blog foi para o kickstart de VMs no KVM. Mas eu não vejo nenhuma razão para isso não funcionar em qualquer outro cenário de kickstart onde você possa passar os argumentos de inicialização do kernel facilmente.

    
por 07.11.2012 / 20:10