macOS sha256sum 설치

nRF 이미지의 무결성 검사를 sha256sum 커맨드를 사용하여 digest를 생성하는데 macOS는 sha256sum 커맨드가 xcode 개발도구에 포함되어 있지 않다. coreutils 패키지를 따로 설치해야 한다.

% brew install coreutils

위 패키지를 설치하고 sha256sum 같은 필요한 커맨드를 실행하기 위해 아래와 같이 .zshrc 파일에 실행경로를 PATH 환경변수로 등록해야 한다.

% vi ~/.zshrc

...

export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"

...

하지만, 위와 같이 gnubin 디렉토리를 환경변수로 등록할 경우 iterm2 color schema와 충돌이 발생하여 iterm2 color schema가 제대로 등록되지 않는 현상이 발생하여 .zshrc 파일에 실행 경로를 등록하는 것을 지양하고 /usr/bin에 내게 필요한 sha256sum 파일을 링크를 생성하려고 하였으나 SIP(System Integrity Protection)에 막혀 /usr/bin 디렉토리에 특정 파일 생성이 불가하였다.

 

SIP에 따라 하기 디렉토리는 임의의 수정/삭제가 불가능하다.

  • /System
  • /sbin
  • /bin
  • /usr (/usr/local 디렉토리를 제외한 서브 디렉토리)
  • /Application

따라서, /usr/bin 디렉토리에는 sha256sum 링크 파일 생성이 불가하지만 /usr/local/bin 디렉토리에는 링크 파일 생성이 가능하기 때문에 아래와 같은 방법으로 /usr/local/bin/sha256sum 파일을 생성하여 실행 경로 추가없이 바로 실행이 가능하도록 하였다.

% cd /usr/local/bin
% sudo ln -s /opt/homebrew/opt/coreutils/bin/gsha256sum sha256sum