apt-get install在非交互式 SSH 会话中运行时,该会话永远不会关闭。例子:
ssh user@target "sudo apt-get -y install my_package"
Run Code Online (Sandbox Code Playgroud)
在my_package没有得到正确安装,但SSH会话刚悬开放。
是否有任何标志可以通过 SSH 开始apt-get工作?
远程安装用于在集成服务器上自动部署包。一旦我们将一些代码更改推送到存储库,作业就会拉入代码、构建包并在集成中部署它以检查一切是否正常(就部署而言)。
apt-get update干净利落地关闭。请注意,这apt-get update不是交互式的,而是apt-get install。这可能表明交互性是一个问题。ssh user@target "sudo apt-get install my_package && echo Hello"永远不会到达的命令echo。debconf 抱怨它找不到一个好的前端(Display、Readline),它回退到 Teletype(虽然 Readline 可用)。-tSSH传递强制 TTY 没有帮助。都没有DEBIAN_FRONTEND=noninteractive。