3.05.2008

md5sumをチェックするに当たって。

最近、
<ハッシュ値>__<パッケージ名>(_は半角スペース)
というMD5SUMと
<ハッシュ値>_*<パッケージ名>(_は半角スペース)
という二種類のハッシュを取り扱うことが多くなってきた。

特にcoLinuxのアップデートに関しては、前者のハッシュ値を後者のスタイルに直さなくちゃいけなかったりするわけで、この差は一体なんだろう?と感じていたのだ。
で、こういった二種類のハッシュ値が存在するのはcoLinuxだけかななんて思っていたら、Rubyとか、他の有名どころでも前者のハッシュ値が使われてた。

で、最初バージョン間の差異だと思っていたら、(ハッシュ値を生成する時に)テキストとして認識させるか、バイナリとして認識させるかの差なのね;

→GnuWin32のmd5sumはバイナリがデフォルトオプション、PC-UNIX上で動くものはテキストがデフォルトオプションであるがために起こるものということ。

まったく、helpやmanぐらい読むべきだな。反省。

でも、困ったことにこれ、--checkオプションを指定した時には、どっちのモードで比較するか選べないんだよね(笑)
つまり、coLinuxのdevelビルドに関して、ハッシュ値をテキストで生成している以上、比較するこちらサイドはcoLinux上にインストールされたDebian Etchからハッシュ比較を行うか、ハッシュ値を手直ししないといけないってことなんだよね;

stable版のハッシュ値はちゃんとバイナリモードで生成されているから、develを使うが故の手間と考えれば仕方ないのかなぁ。

ハッシュ値を手直しするスクリプトでも書こうかしらん。
md5sumをリネーム→ハッシュ値を手直しするスクリプトと、リネームしたmd5sumを呼び出すバッチファイルを書く
って方法で乗り切るぐらいしか思いつかないのだけれど、なにか良いアイディアってないだろうか?

それとも、やっぱり私の調べが足りないために、こんな問題にブチ当たってるだけなの?

0 件のコメント: