Question on the exact nature of the DBs

Ken Murchison ken at oceana.com
Tue Jan 20 20:57:27 EST 2004



Nick Fisher wrote:
> Hello all...
>   In my quest to sort out the DB errors (see the 'What happened to my db/
> ?' thread) I've been having a bit of trouble figuring out exactally what
> all the DBs are. I was hoping that someone who could look at what I've
> got so far and give me a headsup on any errors and answer a few
> (hopefully) quick questions.....
> 
> 1) duplicates
> Configured with: --with-duplicate-db=DB
> Location: /var/imap/deliver.db
> Description: Specifies which database backend to use for the duplicate
> delivery database.
> 
> 2) mboxlist
> Configured with: --with-mboxlist-db=DB
> Location: /var/imap/mailbox.db
> Description: Specifies which database backend to use for the mailbox list.
> (More here:
> http://asg.web.cmu.edu/cyrus/download/imapd/overview.html#recoverymbox)
> 
> 3) tls db
> Configured with: --with-tls-db=DB
> Location: /var/imap/tls_sessions.db
> Description: Specifies which database backend to use for the TLS cache.
> 
> 4) seen db
> Configured with: --with-seen-db=DB
> Location: /var/imap/user/u/user-name.seen
> Description: Specifies which database backend to use for the seen state.
> 
> 5) subscriptions db
> Configured with: --with-subs-db=DB
> Location: /var/imap/user/u/user-name.sub
> Description: Specifies which database backend to use for the subscriptions
> list.

The above is correct.  Note that in 2.2.3, the databases backends are 
now configured at runtime via imapd.conf options.

> Now there are two lots of data that do not appear to be covered in the
> above list, db/ and the mailbox/cyrus.(header|index|cache|seen).
> 
> What is db/? I can't figure out what exactally it does or what you use to
> configure it at compile time. I guess it's part of mailboxs.db in some way
> but I would love a better answer....

db/ is the Berkeley DB environment directory.  This is where the 
transaction logs reside.  See the BDB docs for more details.

> The mailbox/cyrus.* files are fairly well explained here:
> http://asg.web.cmu.edu/cyrus/download/imapd/overview.html#recoverymboxdir
> But I can't figure out what there format is or how it's configured..... is
> it native to cyrus?

You don't need to worry about these, the are internal to Cyrus and 
unconfigurable.  If you're just curious, the formats are explained in 
doc/internal/mailbox-format.html in the distro.

> Why is the reconstruct command in the doc
> (http://asg.web.cmu.edu/cyrus/download/imapd/overview.html#recoverymbox)
> marked as 'NOTE: CURRENTLY UNAVAILABLE'? What versions does that apply to?

Anything recent.  At least 2.1+, and possibly 2.0+.

> And my final question is about the seen dbs. Each user has their own seen
> db and a cyrus.seen in every mailbox. Are the cyrus.seen files just a
> backup to reconstruct the /var/imap/user/u/user-name.seen?

The cyrus.seen files are a legacy format.  Each time the user opens a 
mailbox, the cyrus.seen entries will be added to their user.seen file. 
If this server has been running for any length of time (meaning your 
users have had enough time to view the various mailboxes), then the 
cyrus.seen files can be deleted.


-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp





More information about the Info-cyrus mailing list