Profile image

Kim Songhyun

카카오 프론트엔드 개발자 since 2018. 01.

우리 회사는 2년 단위로 노트북을 새것으로 교체해준다. 재택근무 중이라 다시 회사로 돌아갔을 때나 교체받을 수 있을 줄 알았는데 회사에서 노트북을 퀵으로 쏴 줬다! 일단 정말 끔찍한 사용성을 보여줬던 나비식 키보드를 벗어난 것만으로 감지덕지다.

회사에서 노트북을 교체했다면 빨리 원래 쓰던 노트북을 반납해야 하기 때문에 마이그레이션 툴로 후다닥 옮겨준 뒤 다시 일하러 갔겠지만, 재택근무 덕에 장비 반납이 유예돼서 천천히 세팅을 점검할 여유가 생겼다. 이왕 작업하는 김에 나중에 또 있을지도 모를 셋업을 준비하는 것도 괜찮겠다 싶어 Homebrew로 맥북 세팅하는 법을 정리해보기로 했다.

설치

설치는 이 한 줄이면 끝난다. 공식 홈페이지 맨 앞에서 확인해볼 수 있다.

1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

이후 설치하는 패키지는 brew install을 사용한다. 예를 들면 git은 이렇게 설치할 수 있다.

1brew install git

GUI 툴을 설치해보자 - cask와 mas

나는 개인적으로 cask와 mas가 있어서 맥 셋업이 극단적으로 간단해질 수 있었다고 생각한다. 이 페이지 저 페이지 찾아다니면서 다운받지 않고 스크립트 한 줄만으로 거의 모든 프로그램을 다운받을 수 있게 해 준다. 공식 홈페이지에 찾아가서 다운로드 버튼을 누르지 않아도 된다니 이건 혁명이다.

설치는 역시 Homebrew로 한다.

1brew install cask
2brew install mas

간단한 예시를 들어보자. 구글 크롬과 카카오톡을 받아 보겠다. mas는 이름으로는 설치할 수 없고 해당 앱의 아이디를 찾아야 하는데, mas search라는 커맨드로 검색 가능하다.

1# 크롬
2brew install --cask google-chrome
3
4# 카카오톡
5mas search kakaotalk # 869223134 KakaoTalk (2.8.4)
6mas install 869223134

참고로, 2년 전에 사용하던 맥북에서는 brew cask install 이런 식으로 설치했는데, 새 맥북에 테스트해보니 명령어가 brew install --cask로 교체되었다고 한다. 이런 식으로 가끔 명령어나 패키지명이 바뀌는 경우가 있으니 공식 홈페이지에서 해당 패키지를 미리 검색해보는 것이 좋다. 예를 들어 구글 크롬을 설치한다면 이렇게 검색해보면 된다.

Brewfile로 미래에 대비하기

이 글을 읽고 감동한 어떤 독자가 나처럼 모든 패키지를 Homebrew만으로 관리하려고 결심했다고 해보자. 하지만 미리부터 준비하지 않았다면 내 컴퓨터에 무엇이 깔려있는지조차 모르는 상태일 것이다. 맥북을 싹 밀어버리고 아예 바닥부터 다시 시작해야 할까? 물론 그것도 좋겠지만 쉽지 않은 도전이 될 것이다. 기존에 깔아뒀던 패키지를 목록화하고, 이왕이면 나중에 다시 갖다 쓸 수 있다면 좋겠다. 이럴 때 Homebrew의 번들 기능을 사용하면 좋다.

1brew bundle dump # Brewfile 생성
2brew bundle # 현재 디렉토리 내의 Brewfile을 기반으로 패키지를 설치함

단, 이 명령어는 Homebrew로 설치하지 않은 패키지까지 전부 번들링해주지는 않는다(mas는 로컬에서 앱 목록을 긁어오는 건지 자동으로 번들링이 되었다). Brewfile을 찬찬히 살펴보면서 필요없는 건 삭제하고, 꼭 필요한데 brew로 설치하지 않았던 패키지는 삭제한 뒤 brew로 재설치하는 정도의 노력은 필요하다. 다행히 Brewfile은 파일 구조가 간단한 편이라 수정이 비교적 쉽다. 버전정보조차 표시하지 않는다.

이렇게 해서 완성된 Brewfile을 클라우드 스토리지 같은 데 올려두면, 앞으로 맥을 새로 세팅할 때마다 프로그램을 설치하는 과정을 자동화할 수 있다.