linux コマンド md5sum ファイルのダウンロードチェック

バイオインフォ道場、くまぞうです。

バイオインフォマティクスでは、大きなデータを扱う機会が良くあります。大きなデータや大量のデータをネット経由でダウンロードする際は、きちんとダウンロードできたか心配になるときがあります。このようなとき、簡単にチェックできて便利なのがMD5値です。

スポンサーリンク



MD5とは

ダウンロード失敗してファイルが破損していないか?または、大事なデータを誰かに改ざんされていないか?を確認するのに利用されるのがMD5値です。データ毎にユニークな値になるので、配布先データ(MD5参照)とダウンロード後のデータ(MD5算出)についてMD5値を比較することで、一致を確認することができます。専用コマンドで簡単に確認できるので、できるだけ利用すると安心・安全です。

MD5は、電子署名を必要とするアプリケーション向けに開発された。RSAで署名を生成する際に、メッセージを直接対象として署名を生成するのではなく、メッセージのハッシュ値を生成し、ハッシュ値に対して署名を生成する。ファイルを転送する際にそのファイルが破損していないことを確認するためにも用いられる。配布する側は、ファイル配布時にそのファイルのMD5ハッシュ値(いわゆるMD5チェックサム)も同時に配布する。受信したユーザは手元でファイルのMD5値を計算して、配布者の提示したMD5値と一致することを確認すれば良い。

【出展】 Wikipedia MD5

正常にダウンロードできたか?MD5を確認する

md5sumコマンドの使い方

ダウンロードしたファイルからMD5値を計算するのが、md5sumコマンドです。データに破損などがあった場合はmd5値が一致しません。この場合、適切にファイルがダウンロードしていないので、もう一度ダウンロードしましょう。

ファイルのMD5値を算出して比較する

配布先から提供されたMD5値(origin.md5)に対して、ダウンロード済みのファイル(mydata.gz)のMD5値を計算します。一致すれば、ダウンロード成功です。

  $ cat origin.md5
  12345678901234567890123456789012  mydata.gz

  $ md5sum mydata.gz #download済みデータとして
  12345678901234567890123456789012  mydata.gz

MD5値のリストを使ってチェックする

大量のファイルを比較する場合は、配布先から提供されたMD5値をリスト(md5_list)にして、カレントディレクトリにある「ダウンロード済みファイル(mydata1〜4.gz)」と自動比較を行うと便利です。md5sumの-cオプションにリストを指定します。一致すれば、「OK」と表示されて、ダウンロード成功です。

  $ cat md5_list  #配布先で示されるファイルのMD5をリスト化
  12345678901234567890123456789012  mydata1.gz
  23456789012345678901234567890123  mydata2.gz
  34567890123456789012345678901234  mydata3.gz
  45678901234567890123456789012345  mydata4.gz

  $ ls
  mydata1.gz
  mydata2.gz
  mydata3.gz
  mydata4.gz

  $ md5sum -c md5_list
  mydata1.gz: OK
  mydata2.gz: OK
  mydata3.gz: OK
  mydata4.gz: OK
スポンサーリンク





ピックアップ記事

  1. awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法

    awkのif条件文は、条件によって処理をわけたいときに使います。条件式では、0の判定・関係演算子・…
  2. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…
  3. awk split サンプルでわかる列の分割とセパレータ(文字・正規表現)の指定方法

    awkのsplit関数は、セパレータを指定して文字列を分割することができます。セパレータには文字や…

人気記事

  1. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  2. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  3. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…

おすすめ記事

  1. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…