Problema
Ao executar apt-get install
em uma sessão SSH não interativa, a sessão nunca fecha. Exemplo:
ssh user@target "sudo apt-get -y install my_package"
Ele my_package
é instalado corretamente, mas a sessão SSH é aberta.
Questão
Existe algum sinalizador para passar o SSH para começar apt-get
a trabalhar?
informação adicional
Contexto
A instalação remota é usada para implantação automatizada de um pacote em um servidor de integração. Assim que enviamos algumas alterações de código para um repositório, um trabalho extrai o código, cria o pacote e o implementa na integração para verificar se tudo funciona bem (no que diz respeito à implantação).
Já tentei e anotações
- A mesma sessão SSH em execução é
apt-get update
fechada corretamente. Observe queapt-get update
não é interativo, ao passo queapt-get install
é. Isso pode sugerir que a interatividade é um problema. - Um comando como
ssh user@target "sudo apt-get install my_package && echo Hello"
nunca atinge oecho
. debconf
reclama que não consegue encontrar um bom front-end (Display, Readline) e recorre ao Teletype (embora o Readline esteja disponível).- Em relação ao front-end do debconf, passar
-t
para forçar o TTY com SSH não ajuda. NemDEBIAN_FRONTEND=noninteractive
. - Tudo foi feito no Ubuntu 12_04 LTS.
ssh user@target
, os comandos do shell), ele funcionará corretamente?