Estou instalando pacotes no servidor remoto, usando ssh
:
ssh root@my-host "DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get --quiet --yes install w3m"
mesmo que eu tenha definido DEBIAN_FRONTEND=noninteractive
, a instalação trava na seguinte pergunta e tenho que pressionar enter manualmente:
Configuration file '/etc/w3m/config'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** config (Y/I/N/O/D/Z) [default=N] ?
Eu suspeito que a pergunta está sendo feita por dpkg --configure -a
e não por apt-get
e, portanto, não interativa é ignorada.
Como posso automatizar isso e ter a opção padrão selecionada automaticamente, sem ser solicitado?
Esse tipo de conflito de alteração de arquivo de configuração é tratado por
dpkg
, e você pode forçá-lo a escolher a opção padrão usando a--force-confdef
opção . Preste atenção ao aviso da documentação :Para fornecer esta opção quando
dpkg
é chamado pelo APT, você precisa adicioná-lo às configurações do APT, por exemplo, adicionando a seguinte linha a/etc/apt/apt.conf
:ou, para uma única invocação:
DEBIAN_FRONTEND=noninteractive
afeta apenasdebconf
, e isso não está envolvido neste cenário.