“apt upgrade” sobre SSH: Este frontend requer um controle tty

0

Ao atualizar nossos servidores linux, eu emito um comando como este em um de nossos servidores de gerenciamento:

ssh server1.mycompany.com apt upgrade

Em determinadas 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 o diálogo, acho que os padrões são escolhidos. Como as outras pessoas lidam com esse problema? Efetuar login em cada servidor para executar a atualização apt, caso uma caixa de diálogo apareça, não parece ser o caminho a ser seguido. Talvez haja uma maneira de abortar o "upgrade apt" ou algo assim quando os diálogos surgirem? Ou ainda melhor, talvez haja uma maneira de exibir o pop-up no lado do cliente da conexão SSH, ou seja, no servidor que estou ssh'ing de ?

    
por kenneho 11.10.2018 / 09:26

1 resposta

1

Você precisa de um terminal, que você pode definir através dos parâmetros de -t que força um pty ou -T que não força nenhum pty (ou as opções de arquivo de configuração correspondentes).

Além disso, ao usar um pty, a variável de ambiente TERM é copiada (exceções podem ser aplicadas à documentação de verificação para detalhes completos e formulário de entrada de sorteio oficial).

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ê quer):

ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"

Para mais informações, veja a publicação Ask Ubuntu Impossível inicializar frontend: diálogo ao usar ssh .

    
por 11.10.2018 / 11:00