0

我在带有 Capistrano 的(空白)Ubuntu 12.04 机器上安装 Ruby 1.9.3-p286 时遇到问题。

会发生什么:

 * executing "rbenv install 1.9.3-p286"
   servers: ["178.48.132.196"]
   [178.48.132.196] executing command
** [out :: 178.48.132.196] Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
** [out :: 178.48.132.196] Installing yaml-0.1.4...
** [out :: 178.48.132.196] Installed yaml-0.1.4 to /home/cphrb/.rbenv/versions/1.9.3-p286
** [out :: 178.48.132.196] Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz...
** [out :: 176.58.102.156] Installing ruby-1.9.3-p286...

(在这里它永远挂起。)

更神秘的是: 这在办公时间 (GMT+1) 工作得非常好,但在晚上运行时会失败。连续三个晚上一直如此。当我用 来查看正在运行的进程时top,似乎安装完成了,因为与安装相关的所有进程都消失了。我很好奇一天中的时间如何影响安装,因为一旦安装在盒子上运行,它不应该依赖于任何可能因维护而关闭的外部服务。我也尝试在盒子上手动运行安装,但结果相同。

有任何想法吗??

谢谢!

4

2 回答 2

1

我在 Capistrano 脚本中尝试使用 rbenv 安装 ruby​​ 2.0.0-rc2 时遇到了类似的问题。


我将以下内容添加到 Ubuntu 服务器的 /etc/ssh/sshd_config 到:

ClientAliveInterval 20

ClientAliveCountMax 20

重新配置后,SSH 服务器需要重新启动。


我将以下内容添加到本地计算机(也是 ubuntu)的 /etc/ssh/ssh_config 到:

ServerAliveInterval 30

ServerAliveCountMax 20

任何打开的 SSH 连接都需要关闭并重新打开才能使用此配置。


这些值阻止了我的 ssh 会话超时,并且我的 Capistrano 配方完成了通过 rbenv 安装 ruby​​。添加到服务器端和客户端可能是矫枉过正。我没有完全测试只输入了一侧的配置。

于 2013-11-22T12:21:11.617 回答
0

我认为问题已解决:安装挂起是因为 SSH 连接在飞行途中死机。:-(

如果有人知道为什么 SSH 不会因错误而终止,我会很高兴知道。如果有任何开关可以缓解这个问题。

于 2012-11-07T10:00:00.503 回答