태그 보관물: debian

debian

왜 sha256sum으로 SHA256 체크섬을 검증하는 것이 데비안에서 실패하고 우분투에서 작동합니까?

우분투 14.04에서 sha256sumcoreutils작품 나는 예상대로 :

echo 879dd0d7637876be4796f7e6f194a111d21088be85cfe717fc97e2e7f05e79d2 /tmp/myfile | sha256sum -c
/tmp/myfile: OK

그러나 Debian Wheezy에서 정확히 동일한 파일을 사용하는 동일한 명령이 실패합니다.

sha256sum: standard input: no properly formatted SHA256 checksum lines found

나는 이것을 이해하지 못한다. 데비안 쉘 스크립트에서 체크섬을 확실하게 확인하려면 어떻게해야합니까?


우분투 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



답변

간격에 관심이 있습니다. 당신이 실행하는 경우 :

sha256sum /dev/null

당신은 얻을

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  /dev/null

(두 칸). 그렇게 사용 echo하면 단어 사이에 공백이 하나만 있습니다.

버전 8.13은 출력이 정확한 형식을 원합니다 . 다음을 사용하는 경우 :

echo "$SUM  $FILE" | sha256sum -c

(다시 두 칸) 작동합니다. 최신 버전은 얼마나 많은 공간이 있는지 상관하지 않으므로 공간도 함께 작동합니다.


답변