Converting from berkeley to skiplist

Simon Matter simon.matter at invoca.ch
Thu Feb 1 14:15:18 EST 2007


> I would like to change from using
>
> mboxlist_db: berkeley
>
> to
>
> mboxlist_db: skiplist
>
> I am reasonably confident that I should close down cyrus. Then, as the
> cyrus
> user, run
>
>   ctl_mboxlist -d > /tmp/mboxlist.txt
>
> then rename /CONFDIR/mailboxes.db to mailboxes.berkely,
>
> then edit /etc/imapd.conf to change mboxlist_db to skiplist,
>
> then, as the cyrus user, run
>
>   ctl_mboxlist -u < /tmp/mboxlist.txt
>
> to generate the skiplist vesion of /CONFDIR/mailboxes.db
>
> However, I am not sure about a couple of other things:
>
> Presumably I should rename /CONFDIR/db.backup1 and /CONFDIR/db.backup2 so
> that
> there is a clean start with skiplist?
>
> What about /CONFDIR/db and the files in there?  What are they for?
>
> I need to be VERY VERY cautious about this change because of the dire
> consequences to our service if things go wrong!  Advice will be most
> welcome.

The first think is to know what version of cyrus you are running. Is it a
version which can be configured at runtime, not compile time. I think
everything >= 2.2 should be fine.
Then, you should probably use the tool cvt_cyrusdb(8) which is part of the
cyrus distribution.
I suggest you consult the list archives to understand how to handle the
/db directories. This has been discussed before and I don't remember all
the details.
To make things safe, I suggest you copy the whole cyrus $configdir to a
safe place after shutting down cyrus. Then convert and test without
letting anybody connect to the server so you mailboxes.db should not
change at all. Then if things look right, go over to normal operation.

Simon


More information about the Info-cyrus mailing list