我正在尝试使用奥兹创建一个CentOS 6.4虚拟机映像,并从EPEL安装一些软件包。当它试图安装epel发行包时,我得到了错误:
Public key for epel-release-6-8.noarch.rpm is not installed我可以将一个自定义的启动文件传递给Oz,所以我的想法是在安装后脚本中导入这个键。为了导入适当的密钥,我应该在%post部分放什么?
作为参考,下面是我的Oz模板如下所示:
<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>(我可以直接关闭签名包裹的支票,但我想知道如何做到这一点而不关闭支票)。
编辑:以下是我的自定义启动程序当前的样子:
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???发布于 2013-07-01 18:02:36
您可以在%post部分中这样做:
echo "configuring epel repository"
rpm -Uvh http://download.fedora.redhat.com/pub/epel/beta/6/x86_64/epel-release-6-5.noarch.rpm我认为更正式的方法是这样做,尽管在您的.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您还可以使用一个heredoc并将一个yum .repo文件生成到/etc/yum.repos.d/中,如下所示:
%post
cat >/etc/yum.repos.d/your.repo <<EOF
[... INCLUDE REPO CONFIG FILE CONTENTS HERE ...]
EOFhttps://unix.stackexchange.com/questions/81354
复制相似问题