Problème
Lors de l'exécution apt-get installdans une session SSH non interactive, la session ne se ferme jamais. Exemple:
ssh user@target "sudo apt-get -y install my_package"
Le my_packagene 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-getau 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 updateferme proprement. Notez que ceapt-get updaten'est pas interactif, alors que l'apt-get installest. 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. debconfse 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
-tpour 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@targetensuite les commandes du shell) cela fonctionne-t-il correctement?