在旧的Ubuntu 10.04上升级couchdb / erlang

时间:2013-10-22 20:15:41

标签: ubuntu erlang couchdb ubuntu-10.04

我有一台运行旧CouchDB服务器(1.0.1)的旧Ubuntu 10.04服务器。

我想将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

服务器用于生产,所以我没有太多机会做错事。

有人知道在这台服务器上升级CouchDB + erlang的可靠方法吗?

2 个答案:

答案 0 :(得分:1)

我要尝试的一件事是在非产品盒上设置10.04虚拟机以首先尝试任何修复。如果您还没有vm主机,则可以使用VirtualBox。安装存储库erlang包以复制您的prod问题。

一旦有了安全的环境,请尝试使用错误消息中提到的--auto-deconfigure选项来删除旧的Erlang版本并安装新版本。

答案 1 :(得分:0)

由于CouchDB的debian软件包通常很旧,我建议从源代码构建Erlang和CouchDB(ErlangCouchDB的说明)。

当然kjw0188完全正确,你应该首先尝试VM中的所有内容。

一些补充说明:

  • 如果您在CouchDB前面有反向代理,这可能会使旧数据库和新数据库之间的切换变得更容易
  • CouchDB 1.2默认使用压缩数据库文件;在更新后的第一次压缩中将使用压缩(除非在配置中禁用);之后降级可能是个问题。
  • CouchDB 1.3 changes the on-disk format因此在第一次压缩后无法降级。