2014年3月7日金曜日

freebsd-update IDS でファイルが正しいかチェックできる

ふだん一番よく使っているFreeBSDマシンが、先日、ひさびさにkernel panic。
/var/crash/以下にできたファイルを見ると、どうもzfsがらみらしい。



いろいろ試すと、zfs.koがロードされただけでkernel panicしている(合計3回kernel panicさせた[E:coldsweats01])。



そのマシンではZFSは使っていなかったので、そもそもなぜzfs.koがロードされたのかがわからなかったけど、それはさておき、なぜzfs.koをロードすると落ちるのだろうか・・・という疑問。



別のFreeBSDマシンとで、/boot/kernel/以下のファイルを比較してみたところ、見事に、zfs.koだけ不一致。どうやら、/boot/kernel/zfs.koが、いつのまにか別のファイルに置き換わってしまったらしい・・・なぜだ![E:shock] 怖い!



よ~く比較してみると、まったく別のファイルというわけではなくて、hexdumpして比較してみると、途中までは同じで、symbol tableっぽいものが現れるあたりから不一致してた。別バージョンのファイルと置き換わってしまっただろうか・・・



おかしなことに、/var/db/freebsd-update/ 以下に残っていた、zfs.koファイルは正常なものだった(ちなみに、ファイルのfull pathをSHA256ハッシュ値にしたものが、/var/db/freebsd-update/以下のファイル名になっているらしい)。



なぜこんなことが起こったんだろうか、気持ち悪い。





今回は、別のFreeBSDマシンと比較してみたわけですが、freebsd-updateを使っているんだったら、もっとカンタンにチェックできるんじゃない?と思いつき、man freebsd-update ・・・



ありました。



freebsd-update IDS というコマンドで、インターネットから正常なファイルのハッシュ値のファイルをダウンロードしてきて、インストール済みのファイルと比較して、不一致を見つけてくれます。



こんな感じです。



Looking up update3.FreeBSD.org mirrors... none found.
Fetching metadata signature for 9.2-RELEASE from update3.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
/boot/kernel/linker.hints has SHA256 hash b0cc18fa3c52568d8b6fa814044e1dc536ca57d4ceee815f38dc80fa140eeca1, but should have SHA256 hash 1027485d3bbea91931b1289c751d8530c33b67f562376237d39085133096bcfd.
/boot/kernel/zfs.ko has SHA256 hash 507b234cd4643e8d4ac4dfa28c56747c86f1f536a3b7ef5dff6abc45c015335c, but should have SHA256 hash 5af7feb5541a3874450cbeecccca9f69b0351f56cf45cb701cc0a057becb3b4f.
/etc/crontab has SHA256 hash 96cd2e3c7c7d423f0deb0deb57e66bd1269cd4fe2ccf42cce880ee0c0a4d4fb4, but should have SHA256 hash da4b2db5e7b40015da2b162a238b6a588766e988111ef9f43d7ecae4a04c9436.
以下省略



たしかに/boot/kernel/zfs.koが不一致だと言われました。
/etc/以下の、たしかに自分で書き換えたぞ、というファイルまで、どうしても不一致だといわれてしまいますが・・・まあ、freebsd-update IDS、知っていると便利かもしれません。自分で、kernel reconfigしている人、stableやcurrentをおっかけている人では、使えませんが。



置き換わっていたファイルのSHA256から、「実はそれはFreeBSD 10-RELEASEのzfs.koだ」とかわかるんじゃないかと思ったのですが、まあいいか、と放置しました。



それにしても気持ち悪いです。



20140306





0 件のコメント:

コメントを投稿