Lors d’une migration d’un serveur IMAP sous Cyrus, afin de passer celui-ci d’une Fedora 8 à une Fedora 10, un problème de changement de version dans la version des fichiers plats de type BerkeleyDB est apparu. L’utilisation du collecteur IMAP était impossible vu que Cyrus ne pouvait plus utiliser certains fichiers où il stockait ses informations sur la livraison des courriers. Les logs d’erreurs ressemblent à ceux ci:
Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR db4: file /var/lib/imap/deliver.db has LSN 1/96296, past end of log at 1/11006 Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR db4: Commonly caused by moving a database from one database environment Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR db4: to another without clearing the database LSNs, or by removing all of Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR db4: the log files from a database environment Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR db4: /var/lib/imap/deliver.db: unexpected file type or format Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR: opening /var/lib/imap/deliver.db: Invalid argument Feb 10 11:45:37 facteur lmtpunix[8517]: DBERROR: opening /var/lib/imap/deliver.db: cyrusdb error Feb 10 11:45:37 facteur lmtpunix[8517]: FATAL: lmtpd: unable to init duplicate delivery database
Pour y remédier, il faut mettre à jour le format des fichiers deliver.db et sessions.db avec les commandes suivantes. Mais avant toute chose, il est conseillé de couper le service cyrus-imapd:
[root@facteur] # service cyrus-imapd stop
Pour changer de format les fichiers db:
[root@facteur] # cd /var/lib/imap [root@facteur] # db_dump deliver.db >deliver.db.dump [root@facteur] # rm deliver.db [root@facteur] # db_load -f deliver.db.dump deliver.db [root@facteur] # db_dump tls_sessions.db >~/tls_sessions.db.dump [root@facteur] # rm tls_sessions.db [root@facteur] # db_load -f ~/tls_sessions.db.dump tls_sessions.db
On relance ensuite le service:
[root@facteur] # service cyrus-imapd start
Et voilà on peut se reconnecter au serveur IMAP avec notre butineur de mail préféré.