installation apt-get sans invite debconf

31

Je voudrais installer chef via apt de manière non interactive, mais par défaut, l'installation apt affiche cette invite:

apt install chef invite

Existe-t-il un moyen d'ignorer cette étape lors de l'installation ou de passer une valeur à apt install? J'utilise uniquement chef-solo, donc je n'ai pas vraiment besoin du composant serveur, appuyez simplement sur Entrée à cette invite.

ljs.dev
la source

Réponses:

31

Vous pouvez configurer debconf en invite non interactive:

sudo DEBIAN_FRONTEND=noninteractive aptitude install -y -q chef

Si vous trouvez la clé complète, vous pouvez également préconfigurer la valeur par défaut:

echo package package/key {boolean,string} {true, some string} | sudo debconf-set-selections
sudo apt-get install package

Pour être précis:

echo chef chef/chef_server_url string | sudo debconf-set-selections

Pour trouver la clé, après l' installation, vous pouvez rechercher:

sudo debconf-get-selections | grep chef
# URL of Chef Server (e.g., http://chef.example.com:4000):
chef    chef/chef_server_url    string  
Braiam
la source
Dans certains environnements debconf-get-selectionspeuvent ne pas être disponibles, utilisez debconf-show PACKAGENAMEalors
Jaleks
Si debconf-get-selectionsn'est pas disponible, essayez d'installer le package debconf-utils.
daveloyall
3
Il existe également dans Ubuntu 16.04 LTS debconf-show packagequi affichera toutes les options disponibles pour le paquet donné (après son installation) de la même manière que debconf-get-selectionssi (s'il debconf-get-selectionsest manquant)
Dalibor Filus