我目前正在将我们的 kickstart 文件从 CentOS 5 迁移到 CentOS 6。
在 CentOS 5 中,有一个不错的 anaconda/kickstart 语句,允许通过 http 包含其他 kickstart 语句。例如:
%ksappend http://myinstallserver.intranet.domain/ks/fslayout_phys.include
当我在 CentOS 6.4 中尝试相同的语句时,安装过程中出现错误:
kickstart 文件的第 19 行出现以下问题:
无法打开 %%ksappend 文件
有人知道那里的问题是什么吗?
官方RH-文档不再提及 ksappend 的任何内容。
答案1
不管怎样,我没有看到%ksappend
官方提到RHEL5 文档, 任何一个。
有提到的%include
,虽然。和这看起来很相似功能。它对你有用吗?
%ksappend url 指令与 %include 非常相似,因为它用于包含其他文件的内容,就好像它们位于 %ksappend 指令的位置一样。 区别在于这两个指令的处理时间。 %ksappend 在初始阶段进行处理,在 kickstart 文件的任何其他部分之前。 然后,这个扩展的 kickstart 文件被传递到 anaconda 的其余部分,在那里处理所有 %pre 脚本,最后按顺序处理 kickstart 文件的其余部分,其中包括 %include 指令。
因此,%ksappend 提供了一种包含包含 %pre 脚本的文件的方法,而 %include 则不提供。
答案2
查看源代码,Unable to open %%ksappend file
如果 kickstart 解析器可以访问 URL 并下载它,但生成的文件有其他健全性错误或损坏,则会出现错误。例如,文件为空或响应不包含标头。
检查你的 kickstart 服务器是否具有 IP、DNS,以及你使用的 URL 是否可以从服务器所在的网络获取。
以下是 pykickstart 代码的 rhel6 分支的链接: https://git.fedorahosted.org/cgit/pykickstart.git/tree/pykickstart/parser.py?h=rhel6-branch#n99