homebrew는 MacPorts같은 패키지 관리자입니다. Homebrew와 MacPorts가 뭔지 모르는 사람도 있겠군요. Homebrew는 Mac OS X에서 mysql, wget 같은 소프트웨어를 쉽게 설치하고 관리하게 도와주는 프로그램입니다.
자, 소개는 이만하고 homebrew를 몇 달 써본 경험을 바탕으로 자주 쓰는 명령을 정리해보겠습니다.
설치법!
이건 홈페이지에 나와 있지만 정리 차원에서 적어봅니다.
ruby -e \"$(curl -fsSkL raw.github.com/mxcl/homebrew/go)”
간단하죠?
새 버전으로 고고싱!
homebrew 새 버전으로 업그레이드하고 싶다면,
brew update
역시나 간단합니다.
패키지 설치하기
잠시만!
mysql 같은 소프트웨어를 설치하기 전에 할 일이 하나 있습니다. 예를 들어 svn
v1.7.x 를 설치하려고 한다면 Mac OS X – Mountain Lion에는 /usr/bin/svn
에 이미 설치되어 있다는 점을 생각합시다. homebrew는 보통 /usr/local/bin
에 프로그램을 설치하는데 경로 탐색시 /usr/bin
이/usr/local/bin
보다 우선이기 때문에 쉘에서 svn
을 치면 운영체제에 딸려온 v1.6.x 대의 svn
이 실행됩니다. 이런 점을 개선하려면 ~/.profile
파일을 생성하거나 수정해 아래와 같이 경로 탐색 순서를 바꿉니다.
export PATH=\"/usr/local/bin:/usr/local/sbin:$PATH\"
정말 설치하기
wget을 설치한다고 해보죠. 역시나 간단합니다.
brew install wget
이렇게 하면 끝납니다. 그런데 말이죠. wget으로 웹 사이트 백업하기에 나오듯이 아래 명령을 실행하면 이상하게 오류가 납니다.
Jay:~ plaintext$ wget —recursive --html-extension --convert-links —page-requises --remote-encoding=utf-8 --local-encoding=utf8 —restrict-file-name=nocontrol http://andromedarabbit.net This version does not have support for IRIs
IRI라는 기능이 필요하다는데 설치가 안 된 모양이죠? 이럴 때는 설치 옵션이 더 없나 살펴봅니다.
옵션 넣고 설치하기
wget 패키지에 옵션이 뭐가 있나 확인해볼까요?
Jay:~ plaintext$ brew options wget --enable-iri Enable iri support --enable-debug Build with debug support
IRI 기능을 넣는 옵션이 있군요. 이제 다시 옵션을 넣고 wget을 설치해봅니다. 물론 기존에 설치한wget을 지워야 설치가 되겠죠?
brew uninstall wget
brew install wget --enable-iri
—enable-iri
옵션을 주고 앞선 웹 사이트 백업 명령을 다시 실행해봅니다. 어떻습니까? 잘 되지요?
이렇게 설치 전에 설치 옵션이 뭐가 있나 확인해보는 습관을 들이면 이런 삽집은 하지 않아도 됩니다.
패키지의 새 버전 받기
homebrew 의 새 버전을 받을 땐 어떻게 했죠?
brew update
그렇다면 wget의 새 버전을 받고 싶다면 어떻게 할까요? update
대신 upgrade
명령을 쓰면 됩니다.
brew upgrade wget
brew upgrade
brew로 설치한 모든 소프트웨어를 최신 버전으로 업그레이드하고 싶다면 패키지 이름을 넣지 않으면 됩니다. 하지만 어떤 소프트웨어는 새 버전에 버그가 있다고 들어서 전부 업그레이드하기 불안할 수도 있습니다. 이런 경우에는 outdated
명령으로 새 버전으로 업데이트할 대상 소프트웨어가 무엇인지 알아보면 됩니다.
brew outdated
패키지 찾기
앞선 예제에선 wget을 설치했습니다만 패키지 이름을 정확히 모를 때는 어떻게 할까요? 이번에는svn을 찾는 예제로 살펴봅니다.
brew search svn
이렇게 치면 svn과 관련된 패키지 네 개가 나옵니다.
- colorsvn
- cvs2svn
- git-svn-abandon
- svn
이 중에서 내가 원하는 소프트웨어를 찾으면 되겠지요? 이 경우에는 svn같습니다만 뭐가 뭔지 모를 때는 어떻게 할까요? 이럴 땐 info
명령을 쓰면 됩니다.
Jay:~ plaintext$ brew info colorsvn colorsvn: stable 0.3.2 http://colorsvn.tigris.org/ Not installed https://github.com//homebrew/commits/master/Library/Formula/colorsvn.rb ==> Caveats You probably want to set an alias to svn in your bash profile. So source /usr/local/etc/profile.d/colorsvn-env.sh or add the line alias svn=colorsvn to your bash profile. So when you type \"svn\" you\'ll run \"colorsvn\".
colorsvn은 http://colorsvn.tigris.org에서 개발한 소프트웨어라는군요.
이렇게 내가 원하는 프로그램을 찾아내면 됩니다만 아예 키워드조차 모르겠다 싶을 때는 패키지 이름을 빼고 다음과 같이 실행하면 됩니다.
brew search
이렇게 하면 homebrew가 제공하는 패키지가 모두 나옵니다.
설치된 패키지 목록 보기
내가 로컬에 설치한 패키지가 뭐뭐 있나 궁금할 땐 list
명령을 씁니다.
brew list
팁
설치 경로
실제 파일이 설치되는 곳은 /usr/local/Cellar/
디렉터리 안입니다.
/usr/local/bin
에서 파일 제거하기
homebrew는 원본 파일을 /usr/local/Cellar
폴더에 두고 /usr/local/bin/
에 심볼릭 링크(바로가기라고 생각하면 쉽습니다)를 생성합니다. 이렇게 해서 접근성을 높입니다. 하지만 mysql의 여러 버전을 한꺼번에 사용하는 경우에는 한 버전만 /usr/local/bin
에 심볼릭 링크를 두던가, 아니면 아예 심볼릭 링크를 두지 말아야 합니다. 이런 경우에는 unlink
명령으로 심볼릭 링크만 삭제하면 됩니다.
brew unlink mysql
탭 자동완성 활성화하기
bash
쉘에서 탭 자동완성 기능을 쓰고 싶다면 아래 파일 중 하나를 생성하거나 편집하여
~/.profile
~/.bashrc
~/.bash_profile
다음 코드를 적어넣습니다.
source `brew --prefix`/Library/Contributions/brew_bash_completion.sh