MacOS에는 sha256sum이 없습니다.


17

sha256sumHigh Sierra에서 사용하려고했습니다 . 다음과 MacPorts같이 설치하려고 했습니다.

sudo port install sha256sum

그것은 작동하지 않았다.

무엇을해야합니까?


macOS에는 모든 BSD와 마찬가지로 기본 md5유틸리티가 있습니다.
Kusalananda

답변:


38

CoreUtils 패키지도 Brew 공식으로 게시 됩니다 . 따라서 Brew를 설치했다면 다음을 실행할 수도 있습니다.

brew install coreutils

그런 다음에 추가 PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"하고 ~/.bashrc실행 source ~/.bashrc하면 완료됩니다.


U & L의 첫 답변을 축하합니다. 나는 MacPorts를 Brew보다 선호하지만, 그렇습니다.
Rui F Ribeiro

1
이것이 정답입니다!
Milkncookiez

1
@Milkncokiez 누군가가 왜 macports 질문이 올바른 해결책으로 양조 솔루션을 가져야하는지 저를 설득한다면, 나는 모두 귀입니다.
Rui F Ribeiro

17

조금 조사한 결과, MacOSX 에서 GitHub sha256sum 명령 과 관련이없는 소프트웨어의 티켓 이 여러 가지 해결책으로 발견되었습니다.

  • coreutils 설치

    sudo port install coreutils
    

    그것은 설치 sha256sum/opt/local/libexec/gnubin/sha256sum

  • 또 다른 가능한 해결책으로 다음을 사용하십시오 openssl.

function sha256sum() { openssl sha256 "$@" | awk '{print $2}'; }
  • 또 다른 방법 shasum으로 MacOS 고유 명령을 사용하십시오 .
function sha256sum() { shasum -a 256 "$@" ; } && export -f sha256sum

1

coreutils의 모든 실행 파일에 대한 g- 접두사를 처리하는 Mig82에 대한 보충 답변. 나는 엄밀한 범위의 솔루션을 제공합니다.

coreutils를 설치 한 후

brew install coreutils

결과에 ls /usr/local/bin/gsha* g- 접두사 실행 파일이 나열됩니다.

  • /usr/local/bin/gsha1sum
  • /usr/local/bin/gsha224sum
  • /usr/local/bin/gsha256sum
  • /usr/local/bin/gsha384sum
  • /usr/local/bin/gsha512sum

해결책은 접두사가 아닌 이름을 사용하여 원하는 링크를 심볼릭 링크로 만드는 것입니다 (또는 BSD 실행 파일에 의존하고 no g 접두사 Homebrew 옵션을 사용하는 일부 프로그램을 중단 할 위험이 있음).

shaarray=(\
/usr/local/bin/gsha1sum
/usr/local/bin/gsha224sum
/usr/local/bin/gsha256sum
/usr/local/bin/gsha384sum
/usr/local/bin/gsha512sum
)
function installsha() {
  for i in "${shaarray[@]}"
  do
    printf "$i\n" | perl -pe 'printf $_; s/gsha/sha/' | xargs -n 2 ln -s
  done
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.