Kickstart: Você pode determinar% de seleções de pacotes em% pre

3

Eu tenho procurado e ainda não vi um exemplo de alguém usando a lógica para determinar as seleções de pacotes / grupos de pacotes para opções abaixo de %packages . Estou tentando ter pacotes de instalação do kickstart baseados em critérios descobertos em %pre , por exemplo:

%pre
    if [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'Dell Inc.' ]; then
        echo 'srvadmin-all'
    elif [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'VMware, Inc.' ]; then
        echo 'open-vm-tools'
    fi
%end

Nunca vi um exemplo de lógica condicional na seção %packages , mas estava pensando em imprimir toda a saída em um arquivo referenciado com uma instrução %include , mas tive problemas com %include em %packages desde RHEL7.

Estou curioso para saber se existem outros métodos que alguém esteja usando com sucesso nessas linhas.

    
por Michael Moser 07.02.2018 / 19:54

1 resposta

1

Você pode usar a capacidade do kickstart de incluir arquivos para realizar isso. Use sua seção %pre para escrever um arquivo contendo os pacotes desejados e inclua o arquivo na seção %packages .

Por exemplo:

%pre --interpreter=/bin/bash
touch /tmp/packages
if [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = "Dell Inc." ]; then
    echo 'srvadmin-all' >> /tmp/packages
elif [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = "VMware, Inc." ]; then
    echo 'open-vm-tools' >> /tmp/packages
fi
%end

%packages
@core
@base
chrony
%include /tmp/packages
%end
    
por 07.02.2018 / 22:05