centos xen http kickstart 安装失败,显示:“未知命令:

centos xen http kickstart 安装失败,显示:“未知命令:

我正在尝试使用此方法安装 Centos 5.5 xen domU: http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

它建议使用本地 apache 提供的 kickstart 配置文件。我设法将其安装在物理机器上,但当我尝试在 virtualbox 实例(最新 virtualbox 上的 dom0)上安装时,anaconda 退出并显示以下错误:

Running anaconda, the CentOS system installer - please wait...                 
Traceback (most recent call last):
  File "/usr/bin/anaconda", line 733, in ?
    vncksdata = setVNCFromKickstart(opts)
  File "/usr/bin/anaconda", line 277, in setVNCFromKickstart
    ksparser.readKickstart(opts.ksfile)
  File "/usr/lib/python2.4/site-packages/pykickstart/parser.py", line 1209, in readKickstart
    self.handleCommand(lineno, args)
  File "/usr/lib/python2.4/site-packages/pykickstart/parser.py", line 1069, in handleCommand
    raise KickstartParseError, formatErrorMsg(lineno, msg=_("Unknown command: %s" % cmd))
pykickstart.parser.KickstartParseError: The following problem occurred on line 1 of the kickstart file:

Unknown command: <!DOCTYPE

install exited abnormally [1/1] 

交互式安装成功,我成功获得了一个功能齐全的 xen vm,kickstart 文件可通过链接下载,我已禁用 Selinux。我非常确定 kickstart 文件的语法,有人能提供一些提示吗?

答案1

您的本地 apache 正在提供错误的文件,我认为它提供的是 html 文件而不是 kickstart 文件。

Unknown command: <!DOCTYPE

答案2

听起来就像您的 kickstart 文件在开头包含 DOCTYPE 声明,或者您的 Apache 服务器在将内容发送回请求时添加了它。

kickstart 文件本身应以 text/plain 形式返回。我通常用 PHP 编写 kickstart 文件,以便可以动态更改其中的值,但我使用以下标题行开始文件:

<? header('Content-type: text/plain'); ?>

当 Apache 尝试确定 MIME 类型时,这可确保无论文件扩展名是什么,都能正确返回文件。

我还要补充一点,在我的 kickstart 目录中,我Directory也使用以下 Apache 块:

<Directory "/path/to/ks/">
    Options +MultiViews -Indexes
</Directory>

然后我用扩展名命名 kickstart 文件.php,例如,base-centos55.ks.php然后在 PXE 启动配置中附加ks=http://xxx.xxx.xxx.xxx/path/to/ks/base-centos55.ks以加载文件。此MultiViews选项允许您不添加扩展名,让 Apache 确定哪些文件可用。

答案3

请注意,如果您的 kickstart 文件无法在参数中找到 ks=,则会显示相同的错误。例如,我一直试图使用位于配置了 apache 的虚拟服务器上的 kickstart 文件,而安装程序无法解析我的虚拟网站,这是理所当然的。(使用可解析的实际 IP 有帮助)

相关内容