Desabilitar prompts ao instalar um pacote Debian


22

Como posso desativar totalmente os prompts que aparecem durante a instalação de um pacote Debian, usei todas as opções que encontrei, mas existem alguns pacotes que ainda estão sendo solicitados.

Estou usando este comando:

apt-get -y --allow-unauthenticated --force-yes -o DPkg::Options::="--force-overwrite" -o DPkg::Options::="--force-confdef" install x11-common

Por que o pacote x11-common ainda está sendo solicitado? como posso me livrar dessas instruções?

desde já, obrigado

--Vencedor

Editar: apenas para esclarecer, as solicitações não são "sim / não", são perguntas abertas em uma tela colorida (tela típica de duas cores), mas eu quero definir a opção padrão dessas perguntas

Respostas:


38

Selecione um novo front end configurando seu ambiente.

DEBIAN_FRONTEND=noninteractive apt-get -y install x11-common

Eu uso isso o tempo todo na automação da instalação de pacotes cfengine.


1 Esta é a resposta certa
lynxman

Em alguns casos estranhos como quando você precisa usar isso dentro de chroot não interativa você pode usarDEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something"
mschuett

8

Não tendo instalado manualmente o x11-common, não tenho certeza de quais perguntas estão sendo feitas. Mas se eles vierem do debconf, você poderá pré-responder as perguntas com debconf-set-selections.


Esta é a solução, obrigado. Eu obtive as propriedades com o debconf-get-selections e as configurei anteriormente com o debconf-set-selections e não mais avisos apareceram
victorgp

Mesmo com as seleções definidas, alguns pacotes ainda podem fazer perguntas, dependendo da prioridade. Mas eu recomendo definir seleções sempre que possível. Definir a interface noninteractiveé a mágica "não me pergunte nada, não importa o quê".
bahamat

4

Você precisa dpkg-reconfigure debconfdizer para "Ignorar perguntas com prioridade menor que: Crítica".

Isso não impede você de responder perguntas críticas.


1

Para desativar globalmente os prompts para reconfigurar todos os pacotes debconf, basta comentar a segunda linha do /etc/apt/apt.conf.d/70debconfarquivo.

Ou, se você estiver provisionando a VM, adicione estes comandos ao seu script de provisionamento:

sudo ex +"%s@DPkg@//DPkg" -cwq /etc/apt/apt.conf.d/70debconf
sudo dpkg-reconfigure debconf -f noninteractive -p critical

Você também pode tentar da mesma maneira como o Travis CI faz isso:

sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install some_package

Para alguns outros pacotes, como ttf-mscorefonts-installer(do qual depende language-pack-en), o acima parece não funcionar, então tente:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install -y language-pack-en

1
--force-yesé uma maneira MUITO assustadora e não recomendada para exibir avisos. Não se surpreenda se você acabar com um sistema quebrado e possivelmente irrecuperável algum dia.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.