ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

10.1-R でハマった話 (2) - BDB の更新

だいぶ前から認証周りを OpenLDAP に統合していたのですが、
いつの間にか db46 パッケージが消えてることに気付く罠。


仕方がないので一番古い db48 パッケージを入れて openldap-server をビルド。


...うん、立ち上がらないね!(笑顔


なんだよ「Program version 4.8 doesn't match environment version 4.6」って。
互換性なくなってるのかよマジかよ。


しかも、OpenLDAP in jail なので古い libssl.so がなくて slapcat も走らない。
詰んだ詰んだ。


いろいろ調べたら、bdb のマイグレーションは別コマンドが用意されているらしい。

# db_upgrade-4.8 -v *.bdb
db_upgrade-4.8: Program version 4.8 doesn't match environment version 4.6
db_upgrade-4.8: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatch

アップデートとはなんだったのか……


いろいろ調べた結果、先にデータベースを修復する必要があるらしい。

# db_recover-4.8 -h .
# db_upgrade-4.8 -v *.bdb
db_upgrade-4.8: dn2id.bdb upgraded successfully
db_upgrade-4.8: id2entry.bdb upgraded successfully
db_upgrade-4.8: objectClass.bdb upgraded successfully
db_upgrade-4.8: uid.bdb upgraded successfully

修復……??