Question

I have an old Ubuntu 10.04 server running an old CouchDB server (1.0.1).

I want to upgrade CouchDB to latest version, but this needs a newer version of erlang. I tried with current repositories (lucid), but there's no upgrade to erlang.

I tried downloading the .deb file from https://www.erlang-solutions.com/downloads/download-erlang-otp but got various errors:

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 is used in producction, so I have not much chances to do something wrong.

Anybody knows a reliable way to upgrade CouchDB+erlang on this server ?

Was it helpful?

Solution

One thing I would try is setting up a 10.04 virtual machine on a non prod box to try out any fix first. You can use VirtualBox if you don't have a vm host already. Install the repository erlang package to replicate your prod issue.

Once you have a safe environment to play in, try using the --auto-deconfigure option mentioned in the error message to get rid of the old Erlang version and install the new one.

OTHER TIPS

As the debian packages for CouchDB are usually quite old, I'd recommend to build both Erlang and CouchDB from source (Instructions for Erlang and CouchDB).

Of course kjw0188 is totally right that you should try everything in a VM first.

Some additional notes:

  • If you have a reverse proxy in front of CouchDB this might make switching between the old and new database easier
  • CouchDB 1.2 uses compression of the database files by default; Compression will be used (unless disabled in the config) on the first compaction after the update; Downgrading afterwards might be a problem.
  • CouchDB 1.3 changes the on-disk format so downgrading will not be possible after the first compaction.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top