Homebrew 사용법

  • Post author:
  • Post category:칼럼
  • Post comments:1 Comment
  • Post last modified:February 8, 2020

homebrew는 MacPorts같은 패키지 관리자입니다. Homebrew와 MacPorts가 뭔지 모르는 사람도 있겠군요. HomebrewMac 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 https://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

colorsvn.tigris.org

Open source software engineering

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.

colorsvnhttp://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

참고 자료

  • Braumeister

    웹 기반의 패키지 검색 엔진.

  • Tips N\’ Tricks
  • HomeBrew 로 뭔가 설치할 때 다운로드 오류가 난다면
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
dog_foot_ruler
dog_foot_ruler
10 years ago

좋은글 읽고 갑니다. ^^