updating cyrus databases

Maria Mckinley maria at shadlen.org
Mon Mar 28 04:42:52 EDT 2011

On 3/26/11 3:33 AM, Simon Matter wrote:
>> On 3/23/11 12:56 AM, Simon Matter wrote:
<snipped a bunch>
> What I meant was running skiplist only, then you don't have to worry about
> BerkeleyDB anymore.

I see, so currently I am using skiplist for some stuff, but the 
BerkelyDB for other stuff, and I should switch to only using skiplist. I 
found an old mail of yours where you explained that you did this by 
adding "duplicate_db: skiplist" and "tlscache_db: skiplist" in 
imapd.conf, but haven't found any formal instructions for this.

> The lines below (and also the case that you are using am old version)
> indicate that you are running Debian? So there may be Debian specific
> instruction which may not be found on the Cyrus site.

I have had a terrible time finding instructions. Google fails me. :-(
>> ella:~# cat /usr/lib/cyrus/cyrus-db-types.active
>> ANNOTATION skiplist
>> DBENGINE BerkeleyDB4.2
>> DUPLICATE skiplist
>> MBOX skiplist
>> PTS berkeley
>> QUOTA quotalegacy
>> SEEN skiplist
>> SUBS flat
>> TLS berkeley-nosync
>> Also, the directions for upgrading a database, found here:
>> http://www.cyrusimap.org/docs/cyrus-imapd/2.2.13p1/install-upgrade.php
>> under:
>> Upgrading from 2.1.x or earlier
>> General information (ALL SITES)
>> give instructions for using the cvt_cyrusdb program to convert the
>> databases to skiplist:
>> /usr/cyrus/bin/cvt_cyrusdb /var/imap/mailboxes.db berkeley
>> /var/imap/mailboxes.db.new skiplist
>> mv /var/imap/mailboxes.db.new /var/imap/mailboxes.db
>> and the files appear to look exactly the same when you are done as when
>> you start.
> Yes, they look the same but they should not be the same. Check with the
> file command to see what they contain.

Ah, yes, they do seem to be skiplist:

ella:/var/cyrus/data# file mailboxes.db
mailboxes.db: Cyrus skiplist DB

So, should I try upgrading them with cvt_cyrusdb using the command above 
before I add the skiplist stuff to imapd.conf? Or maybe it makes more 
sense to try adding the skiplist stuff to the imapd.conf before I do the 
upgrade, and maybe then the upgrade will go smoother?

When I do add the skiplist stuff to imapd.conf, will it create new 
skiplist files, so the old skiplist .db files can then be deleted? What 
will they be called and will they be located in the same place? Sorry to 
pester the list so much, but I am just having a hard time finding 
relevant documentation, and I don't want to muck up my mail server.

>>    From the instructions on that page, it looks like I am suppose to use
>> the command on everything with a db at the end, and then on the seen
> Yes, everything with a .db at the end is usually a Cyrus DB.
>> state database. I'm just not sure about the other stuff like __db.001 or
> Those are the files in $CONFIG/db/ right? They are used by the different
> DB engines internally. You should be able to remove those file or just
> ignonre them if the DB's are in a sane state.

Yes, they are in a db directory, and do seem to be something different:

ella:/var/cyrus/data# file db/__db.001
db/__db.001: data

I will ignore them. Thanks so much for your help. Things are starting to 
make more sense.


> Simon
>> the sub files in the same directory as the seen file. Furthermore, these
>> instructions are for an earlier cyrus version then I have (2.1.x vs.
>> 2.2.13), so I'm not even sure this is what I am suppose to be doing.
>> thanks,
>> maria

More information about the Info-cyrus mailing list