Upgrade Cyrus 2.1.16 to 2.2.8 & Berkeley DB woes
bnies at bluewin.ch
bnies at bluewin.ch
Wed Nov 3 10:15:42 EST 2004
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
More information about the Info-cyrus
mailing list