Hi, The documentation at
http://asg.web.cmu.edu/cyrus/download/imapd/install-upgrade.html says that one can use the command cvt_cyrusdb to convert Cyrus 2.1.x Berkeley database files to Cyrus 2.2.x skiplist files. Unfortunately this does not work if Cyrus 2.1.16 is linked against Berkeley DB 4.1.25 and Cyrus 2.2.8 against Berkeley DB 4.2.52. Obviously Berkeley DB 4.2.x is not backwards compatible with 4.1.x. Isn't there a method to compile it with backwards compatibility? cvt_cyrusdb terminates then with a "fatal error: can't read mailboxes file" error message. And it also cannot read the DB-Files in the imap/db directory. Here's another method for upgrading to the new database format. It requires that the mailboxes.db was exported with the old version or the ctl_mboxlist.old utility is linked against db-4.1: a) Shut down the Cyrus IMAP server if it is running and make a backup of the imap directory. /etc/init.d/cyrus stop cd /var/cyrus tar -xvf imap.tar imap b) Switch to cyrus user su - cyrus c) These database files can be deleted cd /var/cyrus/imap rm db/* rm db.backup?/* rm deliver.db rm tls_sessions.db d) For the mailboxes.db, the Berkeley DB 4.1 must be dumped to a flat file using ctl_mboxlist linked against db-4.1.so and then be imported from the flat file using the new ctl_mailboxlist linked against db-4.1.so. The commands are: cd /var/cyrus/imap /opt/cyrus/bin/ctl_mboxlist.old -d >mailboxes.txt mv mailboxes.db mailboxes.db.old rm db/* /opt/cyrus/bin/ctl_mboxlist -u <mailboxes.txt e) For the seen state databases, the command to convert them all looks like: for file in `find /var/cyrus/imap/user -name \*.seen`; do mv $file $file.old /opt/cyrus/bin/cvt_cyrusdb $file.old flat $file skiplist done Hope this might help someone sometime. Regards, Bernd --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html