綾小路龍之介の素人思考

[linux] md5sumでファイルの同一性チェック

ファイルが正しくダウンロードできたかどうかをmd5sumでチェックする。また、配布するファイルにmd5sumをつける

適当なファイルを作ってmd5sumを計算する。

$ echo hoge > hoge.txt
$ md5sum hoge.txt
c59548c3c576228486a1f0037eb16a1b  hoge.txt

md5sumの計算結果を保存して配布ファイルに付け足しておくとよい。--checkオプションを使って同一性確認する。

$ md5sum hoge.txt > hoge.md5
$ md5sum --check hoge.md5
hoge.txt: OK

md5sumが付け足されているけど、ファイルになっていなければ自分で作る。チェックサムファイルはmd5sumコマンドの出力と同じものが期待される。フォーマットはmd5sum、ダブルスペース、ファイル名。

$ echo "c59548c3c576228486a1f0037eb16a1b  hoge.txt" > hoge.md5
$ md5sum --check hoge.md5
hoge.txt: OK

配布ファイルが何らかの原因で壊れていたとして、チェックすると以下のようになる。

$ echo fuga > hoge.txt
$ md5sum --check hoge.md5
hoge.txt: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match

もちろんチェックサムファイルのフォーマットが違う場合はが以下のようになる。たとえばダブルスペースをシングルスペースにするとそうなる。

$ echo "c59548c3c576228486a1f0037eb16a1b hoge.txt" > hoge.md5
$ md5sum --check hoge.md5
md5sum: hoge.md5: no properly formatted MD5 checksum lines found

リファレンス

  1. md5sum linux - Google 検索
  2. Manpage of MD5SUM

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-06-20T04:55:22+09:00
  2. Modified: 2009-06-20T04:55:22+09:00
  3. Generated: 2017-08-22T23:09:31+09:00