小编Eri*_*ton的帖子

执行“apt-get install”时SSH会话永远不会关闭

问题

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工作?


附加信息

语境

远程安装用于在集成服务器上自动部署包。一旦我们将一些代码更改推送到存储库,作业就会拉入代码、构建包并在集成中部署它以检查一切是否正常(就部署而言)。

已经尝试过和笔记

  • 执行的相同 SSH 会话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 可用)。
  • 关于 debconf 的前端,通过-tSSH传递强制 TTY 没有帮助。都没有DEBIAN_FRONTEND=noninteractive
  • 一切都是在 Ubuntu 12_04 LTS 上完成的。

ubuntu debian ssh apt

14
推荐指数
1
解决办法
1544
查看次数

如何在服务器错误之前从 HTTPS 重定向到 HTTP?

我曾经用SSL证书运营过一个网站,但已经停止使用SSL证书。问题是网站的大部分外部链接都使用 https:// 前缀。

我在 .htaccess 文件中尝试了 https:// 到 http:// 重定向:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}
Run Code Online (Sandbox Code Playgroud)

但是,正如其他地方指出的那样,服务器似乎在激活重定向之前尝试检索证书。因此,在完成重定向之前会显示错误。该错误要么是证书已过期的警告,要么是我删除了证书签名请求,然后是 SSL 收到超过最大允许长度的记录的错误。

有什么办法可以让传入的链接正确重定向?

http https web-server .htaccess apache-2.2

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

.htaccess ×1

apache-2.2 ×1

apt ×1

debian ×1

http ×1

https ×1

ssh ×1

ubuntu ×1

web-server ×1