![Anaconda kickstart 从本地 repo 安装?](https://linux22.com/image/674269/Anaconda%20kickstart%20%E4%BB%8E%E6%9C%AC%E5%9C%B0%20repo%20%E5%AE%89%E8%A3%85%EF%BC%9F.png)
现在我们使用 Anaconda 创建 kickstart 文件。一切运行良好,但在 Centos 安装过程中,它会抛出一个错误,提示缺少包。到目前为止,我们的解决方案是安装磁盘 2 并点击重试。我想修复这个问题,这样就不需要安装磁盘 2,我们可以进行无人值守安装。我在我们的网络上设置了一个本地 YUM 存储库,其中包含通用存储库、基础、额外、更新、percona...
我尝试使用 ks 文件中的 repo 指令,但它仍要求我提供第二张磁盘。
答案1
您尚未指定正在使用的 CentOS 版本。下面的示例假设 Centos 6.7,使用 netinstall ISO 映像在安装期间提供网络连接(通过 DHCP)。通过网络安装,可以避免交换光盘的需要。这不是解决问题的唯一方法,但比尝试使用本地存储库重建 CentOS ISO 映像更容易。
以下是我们 Kickstart 配置中的一些示例行,我们使用它来混合使用 CentOS Base & Updates 存储库的本地镜像以及我们自己的自定义存储库:
url --url http://reposerver.intranet/repo/centos/6/os/x86_64/
repo --name=updates --baseurl=http://reposerver.intranet/repo/centos/6/updates/x86_64/
repo --name=custom-utils --baseurl=http://reposerver.intranet/repo/custom/
repo --name=vmware-tools --baseurl=http://reposerver.intranet/repo/vmware-tools
“url”指令(更多信息) 使 Anaconda 从指定的 URL 提取所有基本 RPM。下一行包含更新存储库,以捕获自 CentOS 6.7 发布以来发布的任何更新 RPM。最后两行引用我们自己的存储库,其中包含一些自定义 RPM 和 VMWare 客户端 RPM。
在 %packages 部分中,指定要安装的软件包。Anaconda 将找出依赖项。在不需要的软件包前面添加破折号。通过在前面添加 @ 来包括整个组,例如 @Base。
您可能希望在 Kickstart 配置的 %post 部分中执行的一件事是导入您之前引用的任何自定义存储库中的软件包的 GPG 密钥。在 Anaconda 安装期间不会检查 GPG 密钥,但系统构建并运行后会检查。此步骤有助于在安装后更新系统。以下是我们的操作方式:
%post
rpm --import http://reposerver.internal/repo/keys/RPM-GPG-KEY-CentOS-6
rpm --import http://reposerver.internal/repo/keys/RPM-GPG-KEY-custom
rpm --import http://reposerver.internal/repo/keys/RPM-GPG-KEY-rpmforge