安装 kickstart 文件中指定的 yum 存储库

安装 kickstart 文件中指定的 yum 存储库

现在,我正在通过以下方式在 kickstart 文件中指定用于安装的存储库:repo指示。然后,我重新指定要添加到/etc/yum.repos.d后期安装中的那些存储库。

有没有一种优雅的方法可以避免信息重复?它已经让我吃过一次苦头了。

澄清:

也许我理解错了,但:该repo指令似乎仅用于指定 anaconda 用于安装的存储库。它实际上并没有在服务器上安装存储库。我根据 kickstart 安装的经验得出这个假设。

这就是我在安装后再次安装存储库的原因。我想知道是否有更好的方法,这样我就不必在指令repo和安装后脚本中指定存储库。

答案1

在你的 kickstart 的帖子部分包含如下内容:

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

答案2

CentOS 7 anaconda “repo”命令支持--install,在正在构建的系统上安装repo信息:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-syntax.html

答案3

就像安装 repo 的定义一样,这必须执行两次。我们使用在 %post 部分中调用的 postinstall 脚本。该脚本依次将适当的 repo 文件复制到 /etc/yum.repos.d/ - 具体取决于操作系统。

这样,我们对 CentOS 4 和 CentOS 5 使用几乎相同的 kickstart 文件。

答案4

我知道这是一个老话题,但是当我找到另一个解决方案(可能是在 cobbler 的更高版本中添加的)时,我想我会添加它:

如果您将 $yum_config_stanza 放入 kickstart 模板中的 %post 中,cobbler 将为您创建指定存储库的 .repo 文件并将其放置在 /etc/yum.repos.d/ 中。我还删除了默认的存储库,以便只使用我的镜像。

我的 kickstart 模板的相关部分:

%post --log=/root/ks-post.log

#configure repos
rm /etc/yum.repos.d/*
$yum_config_stanza

相关内容