Назад | Перейти на главную страницу

Установка centos xen http kickstart завершается ошибкой: 'Неизвестная команда: <! DOCTYPE'

Я пытаюсь установить Centos 5.5 xen domU с помощью этого метода: http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

Он предлагает файл конфигурации кикстарта, обслуживаемый локальным apache. Мне удалось установить его на физическом компьютере, но когда я пытаюсь установить его на экземпляре виртуального бокса (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, файл кикстарта можно загрузить по ссылкам, у меня отключен Selinux. Я почти уверен в синтаксисе файла кикстарта, есть ли какие-нибудь подсказки?

ваш локальный apache обслуживает неправильный файл, я думаю, он обслуживает файл html вместо файла кикстарта.

Unknown command: <!DOCTYPE

Помните, что в случае, если ваш файл кикстарта не может быть расположен в ks= параметр, будет показана та же ошибка. Например, я пытался использовать файл кикстарта, расположенный на виртуальном сервере, настроенном с помощью apache, и установщик, справедливо, не смог разрешить мой виртуальный веб-сайт. (Использование разрешимого, фактического IP-адреса помогло)

Похоже, либо ваш файл кикстарта содержит объявление DOCTYPE в начале, либо ваш сервер Apache добавляет его, когда отправляет контент обратно в запрос.

Сам файл кикстарта должен быть возвращен как text / plain. Обычно я пишу свои файлы кикстарта на PHP, поэтому я могу динамически изменять значения внутри, но я запускаю файл со следующей строки заголовка:

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

Это гарантирует, что файл будет возвращен правильно независимо от расширения файла в случае, если Apache попытается определить тип MIME.

Я также добавлю, что в моем каталоге кикстарта я использую следующий Apache Directory также блок:

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

Затем я называю свои файлы кикстарта .php расширения, такие как base-centos55.ks.php а затем в моей конфигурации загрузки PXE я добавляю ks=http://xxx.xxx.xxx.xxx/path/to/ks/base-centos55.ks чтобы загрузить файл. В MultiViews option - это то, что позволяет вам не использовать расширение и позволить Apache определять, какие файлы доступны.