
Ao atualizar nossos servidores Linux, emito um comando como este de um de nossos servidores de gerenciamento:
ssh server1.mycompany.com apt upgrade
Sob certas circunstâncias, recebo esta saída do comando:
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
Como não consigo interagir com a caixa de diálogo, acho que os padrões foram escolhidos. Como outras pessoas lidam com esse problema? Fazer login em cada servidor para executar o apt upgrade, caso uma caixa de diálogo apareça, não parece o caminho a seguir. Talvez haja uma maneira de abortar o "apt upgrade" ou algo assim quando os diálogos aparecerem? Ou melhor ainda, talvez haja uma maneira de fazer com que o pop-up seja exibido no lado do cliente da conexão SSH, ou seja, no servidor que estou fazendo sshde?
Responder1
Você precisa de um terminal, que pode ser definido por meio dos parâmetros
-t
que forçam um pty ou -T
que não forçam nenhum pty (ou as opções correspondentes do arquivo de configuração).
Além disso, ao usar um pty, a TERM
variável de ambiente é copiada (exceções podem ser aplicadas, verifique a documentação para obter detalhes preenchidos e formulário oficial de inscrição no sorteio).
Você pode especificar o front-end não interativo que não possui requisitos e não faz perguntas (que podem ou não ser o que você deseja):
ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"
Para obter mais informações, consulte a postagem Pergunte ao Ubuntu Não é possível inicializar o frontend: caixa de diálogo ao usar ssh.