md5sum 은 파일의 체크섬 값을 계산해 줍니다.

따라서 현재 파일이 정상적인지 아니면 손상된 파일인지를 확인 할때 간편 하면서도 정확 합니다.

사용 법은 

]# md5sum [파일]

입니다.

결과 값은 32자리 hex 값이며, 정상 파일과 비교해 보면 결과를 알 수 있습니다.

파일의 체크섬 값을 비교 한다고 했지만, 응용도 가능 합니다.

예를 들어 메모리의 특정 영역을 가져와 파일로 저장만 하면 마찬가지로 체크섬 값으로 무결성을 검사 할 수 있는  것 입니다.

nand flash 메모리의 처음 4KB 를 가져와  값이 변경 되었는지를 확인 하는 스크립트를 만들어 보면 

아래와 같은 순서로 진행 하면 됩니다.

1. 변경되지 않은 상태의 md5sum 값을 가지고 있어야 한다.

2. dd 를 이용해 4KB 를 읽어와 파일로 저장한다.

3. 저장한 파일의 md5sum 값을 계산 한다.

4. 변경되지 않은 상태의 값과 비교 해 본다.


그래서 , 정상 4KB 데이터의 md5sum 값을 가지고 있다고 가정 합니다.

스크립트.
---------------------------------------------
#!/bin/sh

head_file="head_info"

md5sum_org ="35e6d053b7cc597db56e12aff7499f8f  head_info"

if [ ! -f $head_file ]; then
        touch $head_file   
        chmod 777 $head_file       
fi

dd if=/dev/mtd0 of=$head_file bs=1024  count=4

val=`md5sum $head_file`


if [ "$val" == "$md5sum_org " ]; then
        echo " --- SAME "
else
        echo " --- DIFFERENT"
fi

rm head_info

-------------------------------------------------------

같으면 SAME, 틀리면 DIFFERENT 가 출력 되겠군요.