问题
apt-get install
在非交互式SSH会话中运行时,该会话永远不会关闭。例:
ssh user@target "sudo apt-get -y install my_package"
在my_package
没有得到正确安装,但SSH会话刚悬开放。
题
是否有任何标志可以通过SSH来开始apt-get
工作?
附加信息
语境
远程安装用于在集成服务器上自动部署程序包。一旦我们将一些代码更改推送到存储库,工作就会提取代码,构建程序包,然后将其部署到集成上,以检查一切是否正常(就部署而言)。
已经尝试过并注意
- 执行相同的SSH会话会
apt-get update
完全关闭。请注意,apt-get update
它不是交互式的,而是交互式的apt-get install
。这可能表明交互性是一个问题。 - 像
ssh user@target "sudo apt-get install my_package && echo Hello"
永不到达的命令echo
。 debconf
抱怨它找不到合适的前端(显示,阅读线),并且退回到电传打字机(尽管可以使用阅读线)。- 关于debconf的前端,通过
-t
SSH强制强制TTY并没有帮助。都没有DEBIAN_FRONTEND=noninteractive
。 - 所有操作均在Ubuntu 12_04 LTS上完成。
ssh user@target
从外壳执行的命令),它是否可以正常工作?