Importar chave EPEL GPG no kickstart pós-instalação

5

Estou tentando usar Oz para criar uma imagem da máquina virtual do CentOS 6.4 e instalar alguns pacotes da EPEL. Quando ele tenta instalar o pacote epel-release, recebo o erro:

Public key for epel-release-6-8.noarch.rpm is not installed

Eu posso passar um arquivo de kickstart personalizado para Oz, então meu pensamento é importar essa chave no script de pós-instalação. O que devo colocar na seção %post para que a chave apropriada seja importada?

Para referência, aqui está o meu modelo do Oz com esta aparência:

<template>
    <name>centos-6.4</name>
    <os>
        <name>CentOS-6</name>
        <version>4</version>
        <arch>x86_64</arch>
        <install type='iso'>
            <iso>file:///data/isos/CentOS-6.4-x86_64-bin-DVD1.iso</iso>
        </install>
    </os>
    <description>CentOS 6.4 x86_64</description>
    <repositories>
        <repository name='epel-6'>
            <url>http://download.fedoraproject.org/pub/epel/6/$basearch</url>
            <signed>yes</signed>
        </repository>
    </repositories>
    <packages>
        <package name="epel-release" />
        <package name="cloud-utils" />
        <package name="cloud-init" />
    </packages>
    </commands>
</template>

(Eu poderia apenas desativar a verificação de pacotes assinados, mas gostaria de descobrir como fazer isso sem desligar essa verificação).

Editar: Veja como meu kickstart personalizado se parece:

install
text
key --skip
keyboard us
lang en_US.UTF-8
skipx
network --device eth0 --bootproto dhcp
rootpw %ROOTPW%
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc America/New_York
bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
zerombr yes
clearpart --all

part / --fstype ext4 --size=1024 --grow
reboot

%packages
@base

%post
# What do I put here???
    
por Lorin Hochstein 01.07.2013 / 17:23

1 resposta

4

Método 1

Você pode fazer isso na seção %post :

echo "configuring epel repository"
rpm -Uvh http://download.fedora.redhat.com/pub/epel/beta/6/x86_64/epel-release-6-5.noarch.rpm

Método # 2

Acho que a maneira mais formal de fazer isso é assim no seu arquivo .ks:

repo --name=epel --baseurl=http://LOCALEPELMIRROR/.../epel/6/x86_64/
%package
...
epel-release

%post
...
/usr/sbin/rhnreg_ks --activationkey=$ACTIVATIONKEY
rpm --import /usr/share/rhn/RPM-GPG-KEY
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release-2

Método 3

Você também pode usar um heredoc e gerar um arquivo .repo no /etc/yum.repos.d/ da seguinte forma:

%post
cat >/etc/yum.repos.d/your.repo <<EOF
[... INCLUDE REPO CONFIG FILE CONTENTS HERE ...]
EOF

Referências

por 01.07.2013 / 20:02