Я пытаюсь установить свои серверы ubuntu с iPXE. Я создал файл кикстарта с помощью system-config-kickstart, но после того, как он был загружен установочным сервером, синтаксический анализ завершился ошибкой:
The installer failed to process the preconfiguration file from http://... The file may be corrupt
При просмотре / var / lib / preseed / log последняя строка всегда
Syntax error: unable to determine template name
что не очень помогает при поиске в Google.
Вот рабочий (но неполный) файл кикстарта:
preseed mirror/country string manual
preseed mirror/http/hostname string 192.168.1.70
preseed mirror/http/directory string /ubuntu
preseed apt-setup/security_host string 192.168.1.70
preseed apt-setup/security_path string /ubuntu
Когда я добавляю любую другую строку (например, "lang en_US"), отображается описанная ошибка.
Очевидно, есть ошибка в интерпретации файла kickstart.cfg, но я не вижу где. Есть ли у кого-нибудь ключ к разгадке этого вопроса?
РЕДАКТИРОВАТЬ: есть ли какой-либо порядок при создании файла конфигурации? Может беда в том, что инструкции не в нужном порядке? Боюсь, я начинаю изучать менее актуальные идеи: /
Большое спасибо!
EDIT2: вот мой нерабочий файл:
preseed mirror/country string manual
preseed mirror/http/hostname string 192.168.1.70
preseed mirror/http/directory string /ubuntu
preseed apt-setup/security_host string 192.168.1.70
preseed apt-setup/security_path string /ubuntu
lang en_US
EDIT3: вот инструкции iPXE, позволяющие клиенту загрузить файл кикстарта:
:ubuntu-amd64
echo Install Ubuntu
set base-url http://$my_ip_address/
kernel ${base-url}/ubuntu/linux
initrd ${base-url}/ubuntu/initrd.gz
imgargs linux auto=true hostname=ubuntu domain=my_domain interface=eth0 preseed/url=${base-url}/ubuntu/kickstart.cfg
boot
Загружается соответствующий файл. Я подозреваю, что возникла проблема с интерпретацией инструкций, содержащихся в этом кикстарте.
Изменить:
preseed/url=${base-url}/ubuntu/kickstart.cfg
в:
ks=${base-url}/ubuntu/kickstart.cfg
Вариант загрузки preseed/url
ожидает найти файл конфигурации Preseed, но у вас есть файл конфигурации KickStart. Это две разные системы, поэтому вы получаете сообщение об ошибке. С помощью ks=
сообщает системе, что загружает файл ks, а не файл ps.
Для получения дополнительной информации: Preseed создан Debian и поэтому может автоматизировать практически все, что связано с установкой Ubuntu. KickStart разработан RedHat, и есть проект по поддержке Kickstart в Ubuntu. Этот проект довольно надежен - большую часть установки Ubuntu можно автоматизировать с помощью файла Kickstart. Однако, если вы хотите автоматизировать некоторые из более мелких вещей, выполняемых установщиком Debian, вам нужно использовать preseed. Обратите внимание, что файл кикстарта может содержать большинство команд с предустановкой, просто добавляя к этим командам префикс «preseed» и отбрасывая «d-i». Вот что вы делаете с такими строками, как preseed mirror/country string manual
- на самом деле это команда preseed, которую вы вызываете из своей конфигурации кикстарта. Надеюсь, это поможет!
Кроме того, случайное замечание - для простых локальных зеркал компакт-дисков вы, вероятно, можете удалить большинство команд mirror / * и просто использовать ключевое слово kickstart «url», которое правильно понимает установщик ubuntu для указания местоположения установочного носителя.