instalação apt-get sem prompt do debconf

31

Eu gostaria de instalar o chef via apt de maneira não interativa, mas, por padrão, a instalação do apt traz esse prompt:

apt install chef prompt

Existe uma maneira de pular esta etapa durante a instalação ou passar um valor para a instalação? Estou usando apenas o chef-solo, por isso não preciso do componente de servidor, basta pressionar Enter neste prompt.

ljs.dev
fonte

Respostas:

31

Você pode configurar o debconf no prompt não interativo:

sudo DEBIAN_FRONTEND=noninteractive aptitude install -y -q chef

Se você encontrar a chave completa, também poderá pré-configurar o valor padrão:

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

Para ser mais preciso:

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

Para encontrar a chave, após a instalação, você pode procurar:

sudo debconf-get-selections | grep chef
# URL of Chef Server (e.g., http://chef.example.com:4000):
chef    chef/chef_server_url    string  
Braiam
fonte
Em alguns ambientes, debconf-get-selectionspode não estar disponível, use-o debconf-show PACKAGENAMEentão
Jaleks
Se debconf-get-selectionsnão estiver disponível, tente instalar o pacote debconf-utils.
Daveloyall 07/07
3
Também no Ubuntu 16.04 LTS há debconf-show packageque irá mostrar todas as opções disponíveis para determinado pacote (depois de ter sido instalado) da mesma forma que debconf-get-selectionsfez (se debconf-get-selectionsestiver em falta)
Dalibor Filus