Cyrus - Upgrading flat mail to DB3

Patrick Boutilier boutilpj at ednet.ns.ca
Thu Aug 29 10:31:36 EDT 2002


I am confused. :-) The instructions below are what you need to upgrade 
your mail store from 1.6.22 to be compatible with Cyrus 2.1.x (assuming 
you didn't use --with-mboxlist-db=flat when running configure).


Basically all you need to do is copy over /var/imap and /var/spool/imap 
(or wherever your config and partition directories are in 1.6.22) from 
your 1.6.22 server (after shutting down Cyrus) and run the following 
commands on the new box:


mkdir /var/imap/db
mkdir /var/imap/socket
chown cyrus /var/imap/db /var/imap/socket
rm -rf /var/imap/deliverdb

su cyrus
cd /var/imap
ctl_mboxlist -u < mailboxes
ctl_cyrusdb -c


After configuring /etc/cyrus.conf and /etc/imapd.conf you should be 
ready to use the new Cyrus 2.1.x version.




Matthew Tagg wrote:
> Yes I've read the install upgrade. The problem is its not a straight
> upgrade as such. I just want to upgrade my mail store. Two separate
> installs on two different machines.
> 
> FWIW I followed the instructions that I could. Thanks anyway
> 
> 
>> From the doc/text/install-upgrade file:
>>
>>
>>
>>
>>Upgrading from 1.6.22 or 1.6.24
>>
>>     Warning: Cyrus imapd 2.0 will automatically convert on-disk file
>>     formats as the server is used. It is not possible to run 
>>1.6 after 2.0
>>     has been used on a mail spool without reconstructing 
>>every mailbox.
>>
>>       * Create some extra directories and remove the 
>>duplicate delivery
>>         database:
>>
>>            mkdir /var/imap/db
>>            mkdir /var/imap/socket
>>            chown cyrus /var/imap/db /var/imap/socket
>>            rm -rf /var/imap/deliverdb
>>
>>       * Convert mailboxes file to Berkeley DB:
>>
>>            su cyrus
>>            cd /var/imap
>>            ctl_mboxlist -u < mailboxes
>>            ctl_cyrusdb -c
>>
>>         Please keep a backup of your mailboxes file. You can dump an
>>         old-style mailboxes file by using ctl_mboxlist -d.
>>       * remove "/etc/inetd.conf" entries. The imap and 
>>popd3d lines need to
>>         be removed from /etc/inetd.conf and inetd needs to 
>>be restarted.
>>       * master process configuration: You'll need to 
>>configure the master
>>         process Cyrus process and ensure that it starts on 
>>boot. see this
>>         section of the configuration instructions.
>>       * MTA configuration. You will have to reconfigure your 
>>MTA to speak
>>         to lmtpd. See this section of the configuration document.
>>       * cyrus.seen conversion. The cyrus.seen file will be 
>>automatically
>>         upgraded as users read mail. After some time, you 
>>might want to
>>         delete the cyrus.seen file in each mailbox; it is 
>>superceded by the
>>         user/joe.seen file.
>>       * cyrus.index conversion. The cyrus.index file will be 
>>automatically
>>         upgraded the first time each mailbox is SELECTed.
>>       * Netnews conversion. The netnews programs are no 
>>longer built. If
>>         you are using netnews, you will need to apply the diff in the
>>         netnews/ directory to INN or see if INN is now 
>>distributing those
>>         changes. You will also want to run remotepurge on a 
>>regular basis
>>         to purge old netnews posts.
>>
>>
>>
>>Matthew Tagg wrote:
>>
>>>Hi,
>>>
>>>I have installed a clean install of Cyrus 2.1.7.
>>>I want to transfer my mail from Cyrus 1.6.22 (sitting on another
>>>server).
>>>
>>>I tried copying over the raw files ../user/test/ etc. However I
>>>noticed version 2 stores them in alpabetic directories. I tried
>>>putting them in the root of /var/lib/imap/user/ and in
>>>/var/lib/imap/user/t - however it doesnt find them
>>>
>>>From the install help doc: "Warning:  Cyrus imapd 2.0 will
>>>automatically convert on-disk file formats as the server is 
>>
>>used. " -
>>
>>>I wish it would.
>>>
>>>Then I discovered something called "cvt_cyrusdb" which is meant to
>>>allow converting between backends but I dont know what to 
>>
>>give for its
>>
>>>parameters.
>>>
>>>I tried:
>>>	bash-2.05a$ /usr/libexec/cyrus/cvt_cyrusdb
>>>	/var/lib/imap/user/webafrica/ flat db3 /var/lib/imap/db/
>>>
>>>	Sorry, you cannot use this tool with relative path names.
>>>	This is because some database backends (mainly db3) do not
>>>	always do what you would expect with them.
>>>
>>>	Please use absolute pathnames instead.
>>>
>>>Surely this is a commong problem? Anyone had success?
>>>
>>>Thanks for any help
>>>matthew
>>>
>>
>>
> 





More information about the Info-cyrus mailing list