Problème
Lors de l'exécution apt-get install
dans une session SSH non interactive, la session ne se ferme jamais. Exemple:
ssh user@target "sudo apt-get -y install my_package"
Le my_package
ne s'installe pas correctement, mais la session SSH ne fait que s'ouvrir.
Question
Existe-t-il un drapeau pour passer SSH pour se rendre apt-get
au travail?
Information additionnelle
Le contexte
L'installation à distance est utilisée pour le déploiement automatisé d'un package sur un serveur d'intégration. Dès que nous transmettons des modifications de code à un référentiel, un travail extrait le code, crée le package et le déploie lors de l'intégration pour vérifier que tout fonctionne bien (en ce qui concerne le déploiement).
Déjà essayé et notes
- La même session SSH en cours d'exécution se
apt-get update
ferme proprement. Notez que ceapt-get update
n'est pas interactif, alors que l'apt-get install
est. Cela peut suggérer que l'interactivité est un problème. - Une commande comme
ssh user@target "sudo apt-get install my_package && echo Hello"
n'atteint jamais leecho
. debconf
se plaint qu'il ne peut pas trouver un bon frontend (Display, Readline), et il retombe sur Teletype (bien que Readline soit disponible).- En ce qui concerne le frontend de debconf, passer
-t
pour forcer TTY avec SSH n'aide pas. Ni l'un ni l'autreDEBIAN_FRONTEND=noninteractive
. - Tout a été fait sur Ubuntu 12_04 LTS.
ssh user@target
ensuite les commandes du shell) cela fonctionne-t-il correctement?