初めまして、げつどくと申します。
タイトルの件なのですが、
誤って rm を用いて /etc/sasldb2 を削除してしまったため、
touch /etc/sasldb2 を実行して新たにファイルを作り直しました。
そして改めて saslpasswd -u example.net -c test を実行したのですが、
sasldblistusers2 を実行すると listusers failed と表示されてしまいます。
/var/log/messages には、パスワード作成時には
saslpasswd2: setpass succeeded for test
と表示されるのですが、sasldblistusers2 を実行した時には
sasldblistusers2: unable to open Berkeley db /etc/sasldb2: Invalid argument
sasldblistusers2: _sasldb_getkeyhandle has failed
と書かれていました。
そのまま読むと「引数が無効である」とのことですが、
manを使ってみてもコマンド実行時に与えられる引数はないようですし・・・。
念のため再コンパイルしてみても症状は同じでした。
何かご存知でしたら教えていただけないでしょうか。
ソースから入れていて、バージョンはcyrus-sasl-2.1.17、
OSはFedoraCore1です。
よろしくお願いいたします。
こんばんは。 > 誤って rm を用いて /etc/sasldb2 を削除してしまったため、 > touch /etc/sasldb2 を実行して新たにファイルを作り直しました。 > > そして改めて saslpasswd -u example.net -c test を実行したのですが、 saslpasswd2 -u example.net -c test ^^^ は単純に誤りですよね。 touchするとおかしくなりませんか?再度、sasldb2を削除してから登録すれば自動で作成されるので これでやればうまくいきませんか。
お返事ありがとうございます。
> saslpasswd2 -u example.net -c test
> ^^^
> は単純に誤りですよね。
失礼しました。
確かにその通りです。
> touchするとおかしくなりませんか?再度、sasldb2を削除してから登録すれば自動で作成されるので
> これでやればうまくいきませんか。
私もそう思っていたのですが、なぜか作成されません。
或いはどこか別の場所に作られているかとも思い
find / -name sasldb2 で検索をかけてみましたが引っかかりませんでした。
> > touchするとおかしくなりませんか?再度、sasldb2を削除してから登録すれば自動で作成されるので
> > これでやればうまくいきませんか。
>
> 私もそう思っていたのですが、なぜか作成されません。
作成されたsasldb2を削除してやってみましたが、特に問題はありませんでした。saslのほうはどうですかね。
単にsasldb2を消しただけで、今まで作成できていたならできないはずはないですが?
何かしてしまったのですかね?
> 何かしてしまったのですかね?
多分何かしてしまったのだろうとは思いますが(そうでなければ作れるはず)、
それが何かが分からず・・・。
結局、かなり強引な手ではありますが find / -name *sasl2* を
実行して関係のありそうなものを片っ端から削除した上で
改めてソースをダウンロードしてきてインストールする、
という方法を採ったところ無事作成されるようになりました。
アンインストールを行う時は気をつけた方がいいということですね
・・・って、こんなことで困るのは私だけか。
おやじ様、お騒がせしました。