2012-11-06 82 views
0

我在Capistrano的(空白)Ubuntu 12.04盒子上安裝Ruby 1.9.3-p286時出現問題。rbenv在Ubuntu 12.04上安裝Ruby 1.9.3-p286時掛起12.04

什麼情況是:

* 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查看正在運行的進程時,看起來安裝完成,因爲與安裝相關的所有進程都沒有了。我很好奇一天中的時間是如何影響安裝的,因爲一旦安裝在盒子上運行,它就不應該依賴於任何可能停機的外部服務。保養。我也嘗試在盒子上手動運行安裝,但結果相同。

任何想法??

謝謝!

回答

0

我認爲問題解決了: 由於SSH連接在飛行中停止,因此安裝掛起。 :-(

如果有任何人誰知道爲什麼SSH不以錯誤終止,我會很高興地知道,如果有可能緩解這個問題的任何開關。

+1

你可以嘗試在你的服務器上添加'ServerAliveInterval 4'。ssh/config,以確保數據在整個時間內都能通過網絡。 ' 主機* ServerAliveInterval 4 ' –

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。添加到服務器端和客戶端可能是矯枉過正。我沒有完全測試只輸入配置的一側。