web-dev-qa-db-fra.com

Est-il possible de poser des questions arbitraires dans la préconfiguration lors de l'installation d'ubuntu

J'ai construit un système d'installation automatique pour la construction de nœuds à partir de métal nu, il produit une installation assez basique, puis installe marionnette et contacte le marionnettiste pour le reste de la configuration. Ce que j'aimerais pouvoir faire, c'est injecter une question dans le pré-texte de telle sorte que je puisse demander "quel est le rôle de ce serveur?" qui à son tour écrirait simplement la valeur dans un fichier temporaire, que ce facteur analyserait et inclurait dans l'exécution du catalogue de marionnettes.

Donc, fondamentalement, posez une question pendant l’installation, fournissez une liste des réponses disponibles et écrivez la réponse dans un fichier.

est-ce faisable?

5
J.T.

Vous pouvez utiliser la section d-i preseed/late_command du fichier de préconfiguration pour exécuter un script utilisant la debconf pour poser une question personnalisée.

Exemple de script:

#! /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

Une fois le script exécuté, vous trouverez la réponse dans le fichier /tmp/answer.value.

Plus d'infos: https://help.ubuntu.com/community/InstallCDCustomization/AccessDebconfFromYourScript

2
RAlex