Meu provedor de hospedagem em potencial sugere executar um comando no terminal para reduzir ao mínimo a imagem do sistema operacional do servidor baseado em KVM. Como seus modelos KVM vêm com pacotes dos quais não precisarei, pensei em usar o mesmo comando para remover pacotes indesejados.
Esse comando começa com DEBIAN_FRONTEND=noninteractive
, e invoque da apt-get remove
seguinte maneira:
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" package-1 package-2 ... package-n; apt-get -y autoremove; apt-get clean all
É a primeira vez que encontro a DEBIAN_FRONTEND
variável de ambiente e não consegui encontrar informações úteis até o momento. Então, eu me pergunto o que a configuração noninteractive
faz e se é aconselhável, porque suponho que esse valor ( noninteractive
) persistiria.
apt
environment-variables
Asarluhi
fonte
fonte
Respostas:
Simplesmente anexar um
apt
comando comDEBIAN_FRONTEND=something
não persiste após o comando único ao qual é aplicado.As
DEBIAN_FRONTEND
opções estão documentadas nas páginas de manual da Seção 7 dedebconf
(pode ser necessário instalar odebconf-doc
pacote para disponibilizá-lo no seu sistema). Deman 7 debconf
:Também observa que:
fonte
DEBIAN_FRONTEND=noninteractive
comumente usado em Dockerfiles. Essa resposta me faz pensar por que simplesmente não usamos a--yes
flag com comandos apt, pois ela será mais explícita e, na maioria dos casos, atenderá às nossas necessidades.DEBIAN_FRONTEND
withsudo
, defina a variável nosudo
comando, e não para ela. Ou seja:sudo DEBIAN_FRONTEND=noninteractive apt-get install slrn
. Se você colocar a configuração da variável env antessudo
, ela será válida para osudo
próprio comando esudo
não a copiará para oapt-get
comando que está sendo executado. Usá-lo entresudo
e o comando real é umasudo
sintaxe para configurar variáveis env para o comando a ser executado (consulte a página de manual). Isso me deu um tempo difícil, então eu pensei em compartilhar.noninteractive
, faça isso com o seguinte comando:dpkg-reconfigure debconf --frontend=noninteractive