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