FreeBSD cyrus-sasl2-saslauthd のコアダンプの怪
http://near-unix.blogspot.jp/2016/05/freebsd-cyrus-sasl2-saslauthd.html
経緯
自宅サーバを FreeBSD 10.3 へアップグレードした後、全てのパッケージ(ports)を portupgrade コマンドによって、FreeBSD 10.3 の環境(ライブラリ)の影響下で再ビルドしなおしました。# portupgrade -af --batch
当然古い FreeBSD 9.3 のライブラリなどは不要になったとの判断で 古い設定ファイルやライブラリを消去していました。
# cd /usr/src
# make delete-old
# make delete-old-libs
その後、メールが SMTP エラーにより送信できないことが判明しました。原因として saslauthd がコアダンプして停止していることを発見しました。復旧させるために関連パッケージを再ビルドするなどを行いましたが、解決することができませんでした。
検証のため、余剰のパソコンへ FreeBSD 10.3 を新規にインストールした後、 saslauthd 関係のインストールを行いました。自宅サーバの sendmail の設定ファイルをコピーして SMTP 認証によるメール送信を行ったところ、saslauthd は停止することなく、メールも正常に送信することが確認されました。これにより、自宅サーバ固有の問題であると判断しました。
その後に行ったこと
そこで、自宅サーバのハードディスクを5月22日に行った後、以前のハードディスクをそのまま保存していたことから、この古いハードディスクを使って、再度 FreeBSD 10.3 へアップグレードを行って、同じように saslauthd がコアダンプして停止してしまうのかを検証してみました。自宅サーバで使っていた古いハードディスクをパソコンへ接続してアップグレードを行っているところです。 |
自宅サーバのハードディスク交換作業
http://near-unix.blogspot.jp/2016/05/blog-post_22.html
FreeBSD 10.3 へアップグレード
古いハードディスクには、現在稼働している自宅サーバの設定がそのまま残っていることから、そのまま動作させると各種サーバ類が衝突してしまうため、起動ファイル(/etc/rc.conf)の ***_enable="YES" の項目を全て "NO" と変更した後、cron で定期的に動作させているソフトウェアやシェルスクリプトを停止させました。その後、アップグレード処理を行いました。今回のアップグレードでは、あえて古い FreeBSD 9.3 の設定ファイルやライブラリを残しておきました。万が一、互換性の問題で saslauthd に障害が発生しているのかもしれないと考えたからです。
第一回目の saslauthd の動作確認
FreeBSD 10.3 へアップグレードした直後は、saslauthd は正常に動作していました。また SMTP 認証経由のメール送信もできました。パッケージの再ビルド
portupgrade で全てのパッケージを更新する前に、障害が発生しやすい perl5 と ruby だけは、事前に再ビルドしておきました。その上で全てのパッケージを再ビルドしました。自宅サーバには 410 個のパッケージが存在しており、再ビルドに要した時間は 16 時間ほどでした。なお samba36-3.6.25_3 は、脆弱性問題で portupgrade の更新から自動的に排除されました。# portupgrade -af --batch
第二回目の saslauthd の動作確認
全てのパッケージの再ビルドが終わったところで再起動したところ、saslauthd は再びコアダンプを出力して停止してしまいました(涙)。freeBSD 9.3 時代にビルドした saslauthd と FreeBSD 10.3 でビルドした saslauthd で結果が異なることとなりました。なおビルド設定ファイル(/ect/make.conf)は全く同じものを使用しています。
結果
単純に同じ経過を繰り返しただけでした(笑)。結局 saslauthd が起動しない原因は不明のままです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。