Я построил автоматическую систему установки для сборки узлов из чистого металла, она выполняет довольно простую установку, затем устанавливает puppet и связывается с puppetmaster для остальной части конфигурации. То, что я хотел бы сделать, это ввести вопрос в семя, чтобы я мог спросить: «Какова роль этого сервера?» который, в свою очередь, просто записал бы значение во временный файл, этот анализатор проанализировал бы и включил в прогон каталога марионеток.
Итак, в основном, задайте вопрос во время установки, предоставьте список доступных ответов и запишите ответ в файл.
это выполнимо?
Вы можете использовать раздел d-i preseed/late_command
файла preseed для запуска сценария, который использует debconf
, чтобы задать пользовательский вопрос.
Пример сценария:
#! /bin/sh
# This is a debconf-compatible script
. /usr/share/debconf/confmodule
# Create the template file
cat > /tmp/myquestion.template <<'!EOF!'
Template: my-question/ask
Type: select
Choices: First, Second, Third
Description: Custom question
Template for querying a basic text.
Template: my-question/title
Type: text
Description: My question text
!EOF!
# Load your template
debconf-loadtemplate my-question /tmp/myquestion.template
# Set title for your custom dialog box
db_settitle my-question/title
# Ask it!
db_input critical my-question/ask
db_go
# Get the answer
db_get my-question/ask
# Save it to a file
echo "$RET" > /tmp/answer.value
После запуска сценария вы найдете ответ в файле /tmp/answer.value
.
Дополнительная информация: https://help.ubuntu.com/community/InstallCDCustomization/AccessDebconfFromYourScript
.