Passando variáveis no kickstart

2

Eu tenho um arquivo de kickstart que leva um nome de host na seção% pre. Eu não consigo descobrir como conseguir os dois primeiros. Como você vê, ele envia as informações do servidor para outro dispositivo que, em seguida, personaliza o servidor com base em outro banco de dados. Eu preciso descobrir como pegar o parâmetro hostname no pre no entanto e enviá-lo para postar.

%pre
#!/bin/sh
exec < /dev/tty6 > /dev/tty6
chvt 6
clear
echo "################################"
echo "# Running Pre Configuration    #"
echo "################################"
echo -n "Give hostname: "
read hostname
hostname $hostname
echo $hostname > /home/hostname
echo $hostname > /mnt/sysimage/home/hostname
exec < /dev/tty1 > /dev/tty1
chvt 1

%packages
@base
@core

%post
exec < /dev/tty6 > /dev/tty6
chvt 6
ip0='ifconfig eth0 |grep -e addr:10.0|cut -d':' -f2|awk '{print $1}'';
ip1='ifconfig eth1 |grep -e addr:10.0|cut -d':' -f2|awk '{print $1}'';
mac0='ifconfig eth0 |grep HWaddr|awk '{print $5}'';
mac1='ifconfig eth1 |grep HWaddr|awk '{print $5}'';
os='cat /home/hostname' ;
hostname='cat /home/hostname';
service sshd start
echo "$ip0^$mac0^$ip1^$mac1^$os^$hostname^none"  >/dev/tcp/10.0.0.1/999
exec < /dev/tty1 > /dev/tty1
chvt 1

No acima, o "hostname $ hostname" funciona para alguns O.S, mas não para todos. Eu gostaria de torná-lo dinâmico com base nas informações apresentadas no pré, mas não estou tendo sorte.

    
por ThatGuy 27.06.2014 / 23:33

1 resposta

3

Crie um snippet %post do nochroot e mova o nome do host para lá:

%post --nochroot 
echo $hostname > /mnt/sysimage/home/hostname

Se a variável $hostname for alterada, faça eco da $hostname em %pre para o local temporário e, em seguida, mova o arquivo em %post --nochroot .

Isso ocorre porque %pre ocorre antes de você instalar e ainda não tem /mnt/sysimage/home . É por isso que você quer trabalhar sua mágica após o sistema operacional ser instalado, e como %pre funciona fora do chroot e regular %post dentro, você deve fazer a mudança em nochroot %post .

    
por 30.06.2014 / 23:00