seu apache local está servindo o arquivo incorreto, acho que está servindo um arquivo html em vez do arquivo de kickstart.
Unknown command: <!DOCTYPE
Estou tentando instalar um Centos 5.5 xen domU usando este método: link
Ele sugere um arquivo de configuração do kickstart servido pelo apache local. Consegui instalá-lo em uma máquina física, mas quando estou tentando a instalação em uma instância de virtualbox (dom0 na última virtualbox) o anaconda sai com os seguintes erros:
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]
uma instalação interativa funciona e eu consegui um xen vm funcional, o arquivo kickstart é downloable via links, eu tenho Selinux desativado. Tenho certeza da sintaxe do arquivo de kickstart, Alguém tem alguma dica?
Parece que o seu arquivo kickstart contém uma declaração DOCTYPE no início ou seu servidor Apache está adicionando-o quando envia o conteúdo de volta ao pedido.
O próprio arquivo kickstart deve ser retornado como text / plain. Eu normalmente escrevo meus arquivos de kickstart em PHP para que eu possa alterar dinamicamente os valores, mas inicio o arquivo com a seguinte linha de cabeçalho:
<? header('Content-type: text/plain'); ?>
Isso garante que o arquivo seja retornado corretamente, independentemente da extensão do arquivo, caso o Apache tente determinar o tipo MIME.
Eu também adicionarei que no meu diretório de kickstart eu também uso o seguinte bloco Apache Directory
:
<Directory "/path/to/ks/">
Options +MultiViews -Indexes
</Directory>
Em seguida, nomeio meus arquivos de kickstart com .php
extensions, como base-centos55.ks.php
e, em minha configuração de inicialização do PXE, adiciono ks=http://xxx.xxx.xxx.xxx/path/to/ks/base-centos55.ks
para carregar o arquivo. A opção MultiViews
é o que permite que você deixe a extensão e deixe o Apache determinar quais arquivos estão disponíveis.
Tenha em atenção que, no caso de o seu ficheiro de kickstart não poder estar localizado no
parâmetro ks=
, o mesmo erro será mostrado. Por exemplo, eu estava tentando usar um arquivo de kickstart localizado em um servidor virtual configurado com o apache e o instalador, com razão, não pôde resolver meu site virtual. (Usando um IP real resolvido ajudou)