Problem
Bei Ausführung apt-get install
in einer nicht interaktiven SSH-Sitzung wird die Sitzung nie geschlossen. Beispiel:
ssh user@target "sudo apt-get -y install my_package"
Die wird my_package
zwar richtig installiert, aber die SSH-Sitzung bleibt offen.
Frage
Gibt es eine Flagge, die SSH passieren muss, um apt-get
zur Arbeit zu kommen?
zusätzliche Information
Kontext
Die Remoteinstallation wird für die automatisierte Bereitstellung eines Pakets auf einem Integrationsserver verwendet. Sobald wir einige Codeänderungen in ein Repository übertragen, ruft ein Job den Code ab, erstellt das Paket und stellt es bei der Integration bereit, um zu überprüfen, ob alles ordnungsgemäß funktioniert (was die Bereitstellung betrifft).
Bereits ausprobiert & Notizen
- Dieselbe ausgeführte SSH-Sitzung wird ordnungsgemäß
apt-get update
geschlossen. Beachten Sie, dass diesapt-get update
nicht interaktivapt-get install
ist. Dies könnte darauf hindeuten, dass Interaktivität ein Problem darstellt. - Ein Befehl wie
ssh user@target "sudo apt-get install my_package && echo Hello"
nie erreicht dieecho
. debconf
beschwert sich, dass es kein nettes Frontend findet (Display, Readline) und auf Teletype zurückgreift (obwohl Readline verfügbar ist).- In Bezug auf das Debconf-Frontend
-t
hilft es nicht, TTY mit SSH zu erzwingen. Weder nochDEBIAN_FRONTEND=noninteractive
. - Alles wurde auf Ubuntu 12_04 LTS gemacht.
ssh user@target
dann die Befehle von der Shell), funktioniert es richtig?