0

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

我想将 CouchDB 升级到最新版本,但这需要更新版本的 erlang。我尝试使用当前存储库(清醒),但没有升级到 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 的可靠方法吗?

4

2 回答 2

1

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

一旦你有一个安全的环境可以玩,尝试使用--auto-deconfigure错误消息中提到的选项来摆脱旧的 Erlang 版本并安装新版本。

于 2013-10-22T20:59:22.957 回答
0

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

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

一些附加说明:

  • 如果您在 CouchDB 前面有一个反向代理,这可能会使新旧数据库之间的切换更容易
  • CouchDB 1.2 默认使用压缩数据库文件;更新后的第一次压缩将使用压缩(除非在配置中禁用);之后降级可能是个问题。
  • CouchDB 1.3更改了磁盘格式,因此在第一次压缩后将无法降级。
于 2013-10-23T15:58:19.043 回答