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. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. Excel, 統計

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

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. シェルスクリプト

    シェルスクリプト | ファイル存在チェック・空ファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  3. awk, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…