CentOS: Como definir o hostname baseado no arquivo externo no script kickstart?

2

Eu instalo o CentOS 7 usando a opção ks=http://10.0.0.100:8080/anaconda-ks.cfg e sirvo o arquivo de configuração estática executando um servidor web simples: python -m SimpleHTTPServer 8080 .

No meu anaconda-ks.cfg eu atualmente defino o nome do host assim:

network  --hostname=centdev

No entanto, desejo ler um arquivo de texto (preferencialmente JSON usando Python) do mesmo local que meu anaconda-ks.cfg e verificar o ID de hardware atual em um dicionário para descobrir qual nome de host deve ser usado.

  1. Posso de alguma forma evitar codificar link em anaconda-ks.cfg e buscar esse local por meio de, por exemplo, uma variável de ambiente?

  2. Eu apenas insiro meu script python dentro de anaconda-ks.cfg usando %pre como abaixo?

%pre
#!/bin/python
print 'Read JSON file here...'
%end
    
por fredrik 28.12.2015 / 14:49

1 resposta

0

Isso é o que eu fiz ... Adicionei o seguinte no meu script anaconda-ks.cfg :

# Pre python
%pre --interpreter=/usr/bin/python
print 'python code goes here to define "myhostname"'
...
hfile = open("/tmp/hostname.ks", "w")
hfile.write("network  --hostname=" + myhostname)
hfile.close()
%end

# Network information
network  --bootproto=dhcp --device=eth0 --ipv6=auto --activate
%include "/tmp/hostname.ks"
    
por 28.12.2015 / 20:27