2012.12.05 うえすぎ

Windows マシンで撮ったデータをLinuxに転送した後、md5 チェックサムを使って整合性を確認する手順


1. windows でチェックサムの計算をする
   (fciv.err にエラーが出るけど気にしない)

% fciv -md5 -add .\ -r > md5.log

2. ftp で linux マシンにディレクトリ丸ごと転送 (.log はアスキー転送)

3. linux 上で md5.log に細工。
   a. 最初の5行を削って
   b. \ を / に置換
   c. ./ の前にスペースを追加
   a-c はエディタでやっても良い。
% sed -e "1,5d" md5.log > md5_a.log
% sed -e 's/\\/\//g' md5_a.log > md5_b.log
% sed -e 's/.\// .\//' md5_b.log > md5_x.log

4. linux 上でmd5sumのチェック
% md5sum -c ./md5_x.log  > /dev/null && echo OK


fciv はこちらから。
http://www.microsoft.com/en-us/download/details.aspx?id=11533

もしエラーが出る時は、CR+LF がうまく変換されていないので、
% tr -d "\15" < fin > fout
等として、LF にする。fin fout は適当に設定。


これらをまとめるとこうなる on Linux マシン

sed -e "1,5d" -e 's/\\/\//g' -e 's/.\// .\//' md5.log > temp.log
tr -d "\15" < temp.log > md5_x.log
md5sum -c ./md5_x.log  > /dev/null && echo OK
rm -f temp.log


**************
Linux の中でコピー&チェックするには
(setenv LANG C しないとだめかも)

1. コピー元のディレクトリ内で参照データを作成
% find . -type f -exec md5sum {} \; > ~/md5_001.out

2. コピー先のディレクトリにてチェック実行
% md5sum -c ~/md5_001.out  > /dev/null && echo OK


**************
2013.05.23 追記

file check on windows OS

1. make database
fciv -add .\ -r -xml hss.xml

2. verify checksum
fciv -v -xml hss.xml