我在安装过程中不断收到“包不存在”错误。
我制作了一个 kickstart ISO,用于创建 RHEL 5.3 构建机器的无人值守安装,用于 C++ 软件版本。它从我们的内部 Web 服务器中提取 kickstart 配置文件。这很方便;它可以轻松测试和修改,而无需制作新的 ISO。如果我能让它正常工作,我计划将其签入版本控制。
无论如何,rpm 包位于磁盘上的两个文件夹中:Client 和 Workstation。物理上位于 Client 文件夹下的包可以正常安装。它无法找到 Workstation 文件夹下的包,例如 doxygen 和 subversion,并抱怨包不存在。
有没有办法指定单个包的位置?
# -----------------------------------------------------------------------------
# P A C K A G E S
# -----------------------------------------------------------------------------
%packages
@gnome-desktop
@core
@base
@base-x
@printing
@development-tools
emacs
kexec-tools
fipscheck
xorg-x11-server-Xnest
xorg-x11-server-Xvfb
#Packages Located in Workstation Folder *** Install can not find any of these ??
bison
doxygen
gcc-c++
subversion
zlib-devel
freetype-devel
libxml2-devel
答案1
Kickstart 脚本已经托管在 Web 服务器上,因此显而易见的建议是也在那里创建一个 RPM 存储库。
将您的工作站目录下的软件包(和 repodata 子目录)复制到 Web 服务器。
在 Kickstart 脚本中,将此路径指向新的 repo。
repo(可选)
配置可用作软件包安装源的其他 yum 存储库。可以指定多个 repo 行。
repo --name=<repoid> [--baseurl=<url>| --mirrorlist=<url>]
--name=
— repo id。此选项是必需的。
--baseurl=
— 存储库的 URL。yum repo 配置文件中可能使用的变量在此不受支持。您可以使用此选项或 --mirrorlist 之一,但不能同时使用两者。
--mirrorlist=
— 指向存储库镜像列表的 URL。yum 存储库配置文件中可能使用的变量在此不受支持。您可以使用此选项或 --baseurl 之一,但不能同时使用两者。
答案2
kickstart 配置文件有一个密钥选项。如果您指定“key --skip”,我相信默认情况下它将仅安装客户端。您必须拥有 Workstation(一个单独的产品)的密钥才能安装这些 rpm。
请记住,密钥对于每个安装都是唯一的。因此,如果您在五台机器上安装,则应该有五个订阅和五个密钥。由于您必须将密钥嵌入 kickstart 配置文件中,因此每台机器都必须有自己的配置文件。
也许,您可以尝试使用 wget 获取 RPM 并在安装后脚本中安装它们。