对于自定义安装,我需要将主 SLES DVD 附带的 SDK DVD 中的一些 rpm 添加到主 SLES 安装 DVD 上。这是因为我的上级想要 1 个 DVD 来安装 SLES,而不需要额外的 DVD 或 FTP 存储库。
因此,我一直在努力实现这一目标。
我所做的是
- 从 DVD 中提取主安装和 SDK 的文件
- 将有问题的 3 rpm 从 SDK 复制到主安装 (/suse/x86_64/)
- 将 rpm 添加到 packages.*.gz (/suse/setup/descr/packages.*.gz)
- 重新计算软件包的 SHA1 总和。*.gz 并将其输入内容 (/content)
之后,我根据这个修改后的映像重新创建了 ISO 映像。
然而,当在虚拟机上测试 ISO 时,安装给出了一个错误:cd:/ Invalid signature Installation aborted
。
为了解决这个问题,我添加了insecure=1
isolinux.cfg (/boot/x86_64/loader/isolinux.cfg)。
这有效,但现在我收到另一个错误,请参见下面的屏幕截图。
关于如何解决这个问题有什么建议吗?我见过有人提到向 initrd 添加自定义 gpg-key,但这通常是针对附加产品。我不确定接下来该怎么做。 :/
我已将以下内容添加到我的 autoyast xml 文件中:
<scripts>
<post-scripts config:type="list">
<![CDATA[
rpm -i extra/*.rpm > /tmp/extra.log
]]>
</post-scripts>
</scripts>
因此,我已将额外的 rpm 添加到extra
ISO 中名为的文件夹中。然而,现在安装失败了:
根据 Nils 的建议,我已将 rpm 添加到 ISO 上的单独文件夹中,并通过 AutoYast 配置文件中的后脚本部分安装它们。我在<script><source>...</source></script>
上面的脚本中报告的问题是由于CDATA
.添加下面的部分解决了我的问题。
<scripts>
<post-scripts config:type="list">
<script>
<source>
<![CDATA[
mount /dev/dvd /mnt;
cd /mnt/extra;
rpm -i <rpms>;
cd;
umount /mnt;
]]>
</source>
</script>
</post-scripts>
</scripts>
答案1
将 rpm 放入 DVD 上您喜欢的任何位置,并使用 autoyast-post-install-script 来安装这些 rpm。
除此之外,我看不出这个要求有什么意义。安装后必须对该系统进行修补。所以这意味着通过网络联系存储库 - 因此 rpm 甚至可以在网络上......
答案2
假设这是针对 RHEL 的,这可能会帮助您了解还需要做什么:http://www.harkness.co.uk/other/RHEL4_custom_dvd.html