[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.5 md5sum: MD5 ダイジェストの表示、または検査をする

md5sum は、指定された各 file の 128-bit チェックサムを計算する。 チェックサムは、指紋 (fingerprint) とか、メッセージ・ダイジェスト (message-digest) とも呼ばれる (訳注: ハッシュ値と呼ばれることもある)。

注意: MD5 ダイジェストは、ファイルの不測の損傷を検知することに関して、 単純な CRC (cksum コマンドで使用できる) よりも信頼性が高い。 二つのファイルがたまたま同一の MD5 値を持っている確率は、ほとんどゼロだからである。 だからと言って、悪意のある改竄に対して安全だと考えてはならない。 ある特定の MD5 指紋を持つファイルを見つけ出すことは、現在のところ事実上不可能だと考えられているが、 デジタル証明書などのファイルが署名に MD5 ダイジェストを使用しているとき、 そうしたファイルに手を加えて、正当に見えるようする方法なら、周知のことだからである。 もっと安全なハッシュ値が必要なら、SHA-2 の使用を考慮した方がよい。 See section sha2 utilities: SHA-2 ダイジェストの表示、または検査をする.

指定された file が ‘-’ の場合や、ファイルが全く指定されなかった場合は、 md5sum は標準入力のチェックサムを計算する。また、md5sum は、ファイルとチェックサムの間に矛盾がないかどうかを判定することもできる。

書式:

 
md5sum [option]… [file]…

file に対して ‘md5sum’ は、デフォルトでは MD5 チェックサム、一個の空白、入力モードがバイナリかテキストかを示すフラグ、 それにファイル名を出力する。バイナリモードの指標は ‘*’ であり、 テキストモードの指標は ‘ ’ (空白) である。 モードの区別に意味のあるシステムでは、バイナリモードがデフォルトだが、 そうでないシステムではテキストモードがデフォルトである。 file にバックスラッシュや改行文字が含まれている場合は、出力する行の先頭にバックスラッシュを付け、 さらに、ファイル名中の問題のある各文字をバックスラッシュでエスケープする。 そうすることで、わがままなファイル名があっても、出力に誤解の余地がないようにしているのだ。 file が指定されていなかったり、‘-’ という形で指定されている場合は、 標準入力から読み込む。

このプログラムでは以下のオプションが使用できる。参照: 共通オプション.

-b
--binary

各入力ファイルをバイナリとして扱う。すなわち、入力ファイルをバイナリモードで読み込み、 出力に ‘*’ というフラグを付ける。このオプションは ‘--text’ の反対である。バイナリファイルとテキストファイルを区別しない GNU のようなシステムでは、このオプションは入力モードがバイナリであるとのフラグを付けるだけであり、 MD5 チェックサムの値には影響を及ぼさない。 このオプションは、バイナリファイルとテキストファイルを区別する MS-DOS のようなシステムでは、 デフォルトである。だだし、読み込みを標準入力から行い、その標準入力が端末であるときは除く。

-c
--check

file から (file が指定されなかった場合は、標準入力から)、 ファイル名とチェックサム情報を読み込み (file をチェックサム計算の対象となるデータとして読み込むわけはない)、 そのチェックサム情報が、それに対して名前を挙げられているファイルの内容に対応しているかどうかを報告する。 このモードの md5sum に対する入力は、たいていの場合、事前に ‘md5sum’ を実行してチェックサムを生成したときの出力である。 入力ファイルの書式は、三種類のものがサポートされている。それは、上記のデフォルトの出力書式、 ‘--tag’ オプションを付けたときの出力書式、 それに BSD の逆順表示モード (reversed mode) の書式であり、最後のものは、デフォルトの書式に似ているが、 バイナリとテキストモードを区別する文字を使用しないものである。
そうした入力ファイルの各行に対して、md5sum は、そこに名前を記載されたファイルを読み込み、 その MD5 チェックサムを計算する。そして、算出したメッセージダイジェストが、 そのファイル名と同じ行にあるチェックサムと一致しなかった場合は、 そのファイルをテストに失敗したものとするのである。 両者が一致した場合は、テストにパスしたことになる。 デフォルトでは、有効な各行に対して標準出力にメッセージを 1 行づつ書き出し、 指名されているファイルがテストにパスしたかどうかを報告する。 また、すべてのチェックが完了したとき、テストに失敗したものが一つでもあれば、 警告メッセージを標準エラーに出力する。 この出力を抑制したければ、‘--status’ オプションを使用すればよい。 リストされたファイルの中に、オープンできなかったり、読み込めなかったりするものがあった場合や、 有効な行に書いてあるチェックサムが対応するファイルの実際の値と一致しなかった場合、 それに、有効な行が全く存在しなかった場合は、md5sum は 0 以外のステータスで終了する。 それ以外の場合は正常終了することになる。

--ignore-missing

このオプションが役に立つのは、チェックサムの照合をするときだけである。 このオプションを指定すると、チェックサムを照合する際にファイルが存在しなくても、 実行に失敗したり、ステータス情報を出したりしなくなる。 ダウンロードしたファイルにチェックサムの長大なリストが付いているとき、 一部のファイルの照合をするのに便利である。

--quiet

このオプションが役に立つのは、チェックサムの照合をするときだけである。 このオプションを指定すると、チェックサムを照合する際、 検査に成功したファイルごとに ’OK’ (訳注: 日本語では、「成功」または「完了」) のメッセージを出さなくなる。ただし、ファイルが照合に失敗した場合は、 デフォルトと同じ 1 ファイル 1 行の形式で結果を報告する。 チェックサムに何らかの不一致があった場合は、失敗を総括した警告メッセージも標準出力に表示する。

--status

このオプションが役に立つのは、チェックサムの照合をするときだけである。 このオプションを指定すると、チェックサムを照合する際、デフォルトの 1 ファイルに付き 1 行の判定メッセージを出さなくなる。 また、照合の失敗があっても、それを総括した警告メッセージを出力することもない。 とは言え、ファイルのオープンや読み込みに失敗した場合は、 やはりそれぞれの診断結果を標準エラーに表示する。 リストされたすべてのファイルを読み込むことができ、しかも、すべてのファイルについて、 対応する MD5 チェックサムと矛盾がなければ、正常終了する。 それ以外の場合は、失敗があったことを示すステータスコードで終了する。

--tag

BSD スタイルのチェックサムを出力する。 つまり、使用したチェックサムのアルゴリズムも表示するということだ。 GNU の拡張として、問題を起こしかねない文字を含むファイル名は、上述したようにエスケープされ、 さらに、行の先頭に エスケープの指標に使われたのと同じ ‘\’ 文字が付けられる。‘--tag’ オプションはバイナリ・モードを意味し、 ‘--text’ オプションと一緒に使うことは認められていない。 そんなことをサポートしても、出力の書式をむやみに繁雑にするだけで、 利益はほとんどないからである。

-t
--text

各入力ファイルをテキストとして扱う。すなわち、入力ファイルをテキストモードで読み込み、 出力に ‘ ’ というフラグを付ける。このオプションは ‘--binary’ の反対である。バイナリファイルとテクストファイルを区別しない GNU のようなシステムでは、このオプションがデフォルトである。 ほかのシステムでも、読み込みを標準入力から行い、その標準入力が端末であるときは、デフォルトになる。 ただし、‘--tag’ が使用されているときに、このモードがデフォルトになることはない。

-w
--warn

チェックサムを照合する際、MD5 チェックサムを記載した行の書式に正しくないものがあると、 その旨警告を発する。このオプションが役に立つのは、 チェックされる入力中の、数行を除いたすべての行が、有効なときだけである。

--strict

チェックサムを照合する際、無効な入力行が 1 行でもあれば、 そうした行のすべてについて警告を発したのち、0 以外の終了ステータスで終了する。

終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on June 7, 2022 using texi2html 1.82.