Berkeley DB + Openldap:程序版本与环境版本不匹配

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.

有谁知道可能导致该问题的原因是什么?

答案1

讯息

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。)

相关内容