2013-10-22 40 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第一次压缩后不可能降级。