2013-10-22 114 views
0

我有一臺運行舊版CouchDB服務器的舊版Ubuntu 10.04服務器(1.0.1)。在舊版Ubuntu 10.04上升級couchdb/erlang

我想將CouchDB升級到最新版本,但這需要更新版本的erlang。我嘗試過使用當前版本庫(lucid),但沒有升級到erlang。

我嘗試下載從https://www.erlang-solutions.com/downloads/download-erlang-otp的.deb文件,但得到的各種錯誤:

dpkg: considering removing erlang-base in favour of esl-erlang ... 
dpkg: no, cannot proceed with removal of erlang-base (--auto-deconfigure will help): 
erlang-crypto depends on erlang-base (= 1:13.b.3-dfsg-2ubuntu2.1) | erlang-base-hipe (= 1:13.b.3-dfsg-2ubuntu2.1) 
    erlang-base is to be removed. 
dpkg: regarding esl-erlang_16.b~ubuntu~lucid_amd64.deb containing esl-erlang: 
esl-erlang conflicts with erlang-base 
    erlang-base (version 1:13.b.3-dfsg-2ubuntu2.1) is present and installed. 
dpkg: error processing esl-erlang_16.b~ubuntu~lucid_amd64.deb (--install): 
conflicting packages - not installing esl-erlang 
Errors were encountered while processing: 
esl-erlang_16.b~ubuntu~lucid_amd64.deb 

Server在producction使用,所以我也沒有太多的機會做了錯事。

任何人都知道在此服務器上升級CouchDB + erlang的可靠方法嗎?

回答

1

我想嘗試的一件事是在非產品盒上設置10.04虛擬機,以首先嚐試任何修補程序。如果你還沒有虛擬主機,你可以使用VirtualBox。安裝存儲庫erlang包來複制你的問題。

一旦你有一個安全的環境玩,嘗試使用錯誤消息中提到的--auto-deconfigure選項來擺脫舊的Erlang版本並安裝新的。

0

由於CouchDB的debian包通常都比較舊,所以我建議從源代碼中構建Erlang和CouchDB(關於ErlangCouchDB的說明)。

當然kjw0188是完全正確的,你應該先嚐試虛擬機中的所有東西。

一些其他注意事項:

  • 如果您在CouchDB中的前面有一個反向代理,這可能使新舊數據庫之間切換更容易
  • 的CouchDB 1.2默認使用的數據庫文件的壓縮;壓縮將在更新後的第一次壓縮時使用(除非在配置中被禁用);事後降級可能是一個問題。
  • CouchDB 1.3 changes the on-disk format第一次壓縮後不可能降級。