[FreeBSD-users-jp 96602] dump(8)の生成物の verify
Koh-ichi Ito
kohi @ kkdlabs.jp
2020年 8月 18日 (火) 04:36:56 UTC
stay home の夏休みだからか、ここのところ活況ですね。ぼくも困りごとができ
ちゃいまして…
Bugzilla の Bug 244470 - /sbin/dump crashes on larger filesystem を踏ん
じゃいました。レポートされた Stefan Thumer さんが Comment 1 で、r331095
のソースをコンパイルしたら復旧した、って書いていらっしゃるので、ぼくも
やってみたんですが、ぼくの 12.1-RELEASE-p8 では
DUMP: estimated 295925594 tape blocks.
DUMP: SIGSEGV: ABORTING!
DUMP: DUMP: SIGSEGV: ABORTING!
SIGSEGV: ABORTING!
DUMP: DUMP: SIGSEGV: ABORTING!
SIGSEGV: ABORTING!
Segmentation fault (core dumped)
と却って悪い結果になり、dump.core なんていう印象的な名前のファイルまで生
成してくれちゃったので、root で走るプロセスだしマズいよなぁ…と思いながら
もバックアップがとれないのは致命的なので、dump は読む一方で、ターゲット
のファイルシステムをブッ壊すことはきっとなかろう、と判断し、r339434 の
ソースを checkout してきて、traverse.c の問題の assert()の箇所を #if 0
〜 #endif ですっ飛ばして make てみました。できたバイナリは、一応最後まで
dump した素振りを見せています。
で、ここからが識者の皆様に教えを請いたい本題なんですけど、このいかさまバ
イナリが生成したファイルをベリファイしたいと思っています。ですが、
restore(8)の -t オプションは
The names of the specified files are listed ...
と書いてあるし所要時間から考えても、インデックス的な部分を舐めているだけ
でデータ本体は検証していないように思います。
何かうまいベリファイの方法があれば、教えていただけないでしょうか?
# 別ファイルシステムに restore r して find -exec cmp {}\; ってのはナシ
でお願いします。
# 事象を認知した朝、長年うちの本棚を占拠していた2001年〜2002年のユニマ
ガを資源ゴミに出した祟りではないかと、おののいています。お盆だし…
どうぞよろしくおねがいします。
--
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.
freebsd-users-jp メーリングリストの案内