Назад | Перейти на главную страницу

Berkeley DB + Openldap: версия программы не соответствует версии среды

Когда я бегу:

    #slaptest 

он говорит, что "тестирование файла конфигурации прошло успешно"

Если я сбегу

     #slapd -f slapd.conf -d 256

Я получил:

    buildd@lamiak:/build/buildd/openldap-2.4.31/debian/build/servers/slapd
    53d0762e bdb(dc=mydomain,dc=com): Program version 5.1 doesn't match environment version 6.1
    53d0762e bdb_db_open: database "dc=mydomain,dc=com" cannot be opened, err -30969. Restore from backup!
    53d0762e bdb(dc=mydomain,dc=com): txn_checkpoint interface requires an environment configured for the transaction subsystem
    53d0762e bdb_db_close: database "dc=mydomain,dc=com": txn_checkpoint failed: Invalid argument (22).
    53d0762e backend_startup_one (type=bdb, suffix="dc=mydomain,dc=com"): bi_db_open failed! (-30969)
    53d0762e bdb_db_close: database "dc=mydomain,dc=com": alock_close failed
    53d0762e slapd stopped.

Кто-нибудь знает, что может вызвать проблему?

Сообщение

Program version 5.1 doesn't match environment version 6.1

говорит, что ваш slapd связан с Berkley DB 5.1, но база данных, которую он пытается открыть, в последний раз использовалась с Berkeley DB 6.1.

BDB 6.1 никогда не был включен в Ubuntu. Вы когда-то создавали собственный openldap, связанный с BDB 6.1, и теперь пытаетесь вернуться к пакету Ubuntu?

Выход из этой ситуации - дамп базы данных с помощью правильно построенного slapcat(8) (то есть тот, который использует BDB 6.1), и перезагрузите его, используя slapadd(8) построен так же, как slapd(8) вы в конечном итоге планируете использовать. (Для примера см. slapd сценарии сопровождающего в /var/lib/dpkg/info.)