Ubuntu 14.04では、期待どおりの動作sha256sum
からcoreutils
:
echo 879dd0d7637876be4796f7e6f194a111d21088be85cfe717fc97e2e7f05e79d2 /tmp/myfile | sha256sum -c
/tmp/myfile: OK
ただし、Debian Wheezy上のまったく同じファイルを使用したまったく同じコマンドは失敗します。
sha256sum: standard input: no properly formatted SHA256 checksum lines found
これはわかりません。Debianのシェルスクリプトでチェックサムを確実に検証するにはどうすればよいですか?
Ubuntu 14.04の場合:
⟫ sha256sum --version
sha256sum (GNU coreutils) 8.21
Wheezyの場合:
$ sha256sum --version
sha256sum (GNU coreutils) 8.13
両方のOSのマンページには次のように書かれています。
SYNOPSIS
sha256sum [OPTION]... [FILE]...
DESCRIPTION
Print or check SHA256 (256-bit) checksums. With no FILE,
or when FILE is -, read standard input.
[...]
-c, --check
read SHA256 sums from the FILEs and check them
*
に、ファイル名の前にあるa はバイナリモードを示します。sha256sum -t /dev/null
(テキストモード、デフォルト)の出力をsha256sum -b /dev/null
(バイナリモード)と比較します。これは、明らかにUnix / Linuxでは違いはありませんが、Windowsでは違います。