суббота, 23 апреля 2011 г.

Cyrus Database backends mismatch

После обновления сайруса тот стал ругаться на несоотвествие типов внутренней БД.
Решение нагуглилось очень быстро:

# cd /var/lib && cp -Rp cyrus cyrus.old
# ctl_mboxlist -d > /tmp/mailboxes.txt && rm mboxlist
# cvt_cyrusdb /tmp/mailboxes.txt flat /var/lib/cyrus/mailboxes.db skiplist
# rm /usr/lib/cyrus/cyrus-db-types.active
# chown cyrus:mail *
# dpkg-reconfigure cyrus-common-2.2


2 комментария:

  1. На Debian системе для сохранения списка нужно использовать команду:

    su cyrus -c "/usr/sbin/ctl_mboxlist -d > /tmp/mailboxes.txt"

    ОтветитьУдалить
    Ответы
    1. Далее я столкнулся с багом в Imap сервере. Он постоянно сегфолтился.
      Это известный баг: http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&msg=54338

      Нужно проделать следующее:
      You could try changing the file, offline, with hexedit or sed:

      cp mailboxes.db /mailboxes.bak
      cat mailboxes.db | sed 's/default\t/default /g' > mailboxes.new

      Удалить