Upgrading cyrus

Dan White dwhite at olp.net
Wed Sep 15 18:39:06 UTC 2010


On 15/09/10 13:11 -0500, Patrick Goetz wrote:
>This is another question that I have:  is the set/type of database 
>files determined at run time (i.e. in imapd.conf) or at compile time?  
>In particular, the set of databases I have on 2.1.16 only has a very 
>small intersection with the set described in the forwarded email 
>below:

The type is determined as each imapd, pop3d, et. al, service starts up.

(Someone correct me if I'm wrong) The master/cyrmaster process has
/etc/cyrus.conf hard coded into it (unless -M is passed to it) as the
location to search for service statements, such as:

imap            cmd="imapd -U 30 -D" listen="imap" prefork=0 maxchild=1000

Each imapd process will search for it's *_db directives on startup, within
the /etc/imapd.conf file (unless a -C options is passed) which defaults to
the values listed in the man page for imapd.conf. For instance, for 2.3.16
and the mailboxes.db database, the default is skiplist.

It's not uncommon for admins to specify multiple imapd.conf files, e.g.:

imap            cmd="imapd -U 30 -D" listen="imap" prefork=0 maxchild=1000
imapinternal    cmd="imapd -C /etc/imapd.conf.internal -U 30 -D" listen="imap" prefork=0 maxchild=1000

due to different security requirements for instance. That might explain why
there's an INSTANCE variable in the rpm upgrade script.

Within each imapd.conf file, the configdirectory option (which is required)
defines that path to the Cyrus databases.

So to answer your question, there are several hard coded defaults, but any
of the database types can be changed, and there can even be multiple
database directory structures/spools in multi-imapd.conf configurations.

-- 
Dan White



More information about the Pkg-Cyrus-imapd-Debian-devel mailing list