Я пытаюсь установить 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 определять, какие файлы доступны.