맥에서 패키지를 관리하자 Homebrew

 

 

0. 개요

 

오랫동안 Linux를 사용하면서 rpm, dselect, apt-get 등의 여러가지 패키지 관리 툴을 사용해 왔습니다.

이러한 패키지 관리 툴은 설치하고자 하는 패키지의 의존성을 체크하여 필요한 패키지를 추가로 설치해 줍니다.

그러므로 새로운 패키지를 손쉽게 설치하고 삭제할 수 있습니다.

 

맥도 리눅스를 기반으로 개발된 OS이기 때문에 유사한 방법으로 패키지를 관리할 수 있습니다.

맥에서 패키지를 관리할 수 있는 패키지 관리자는 몇 가지가 있지만 그 중 MacPorts가 가장 많이 사용되고 있습니다.

하지만 MacPorts은 여러가지 문제점이 많아 이러한 문제점을 해결한 Homebrew라는 패키지관리자가 나왔습니다.


1. MacPorts 삭제하기

 

만일 MacPorts가 설치되어 있다면 다음과 같이 삭제할 수 있습니다.

$ sudo port -f uninstall installed
$ sudo rm -rf \
         /opt/local \
         /Applications/DarwinPorts \
         /Applications/MacPorts \
         /Library/LaunchDaemons/org.macports.* \
         /Library/Receipts/DarwinPorts*.pkg \
         /Library/Receipts/MacPorts*.pkg \
         /Library/StartupItems/DarwinPortsStartup \
         /Library/Tcl/darwinports1.0 \
         /Library/Tcl/macports1.0 \
         ~/.macports
$ sudo rm -rf /usr/local
$ sudo mkdir /usr/local
$ chown `whoami` /usr/local

 

2. Homebrew 설치하기

 

Homebrew는 다음의 공식 홈페이지에 방문하면 설치 방법 등의 더 자세한 정보를 확인할 수 있습니다.

http://brew.sh

 

Homebrew를 설치하기 위해서는 터미널에서 다음과 같이 입력합니다. 

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

 

다음은 설치가 진행되는 과정을 보여주고 있습니다.

만일 XCode가 설치되어 있지 않다면 중간에 Xcode Command Line Tool을 설치한다는 메시지가 나옵니다. 설치 버튼을 클릭하여 설치가 완료되면 Homebrew 설치가 계속 진행됩니다. 

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

==> This script will install:

/usr/local/bin/brew

/usr/local/Library/...

/usr/local/share/man/man1/brew.1

 

Press RETURN to continue or any other key to abort

==> /usr/bin/sudo /bin/mkdir /usr/local

 

WARNING: Improper use of the sudo command could lead to data loss

or the deletion of important system files. Please double-check your

typing when using sudo. Type "man sudo" for more information.

 

To proceed, enter your password, or type Ctrl-C to abort.

 

Password:

==> Downloading and installing Homebrew...

remote: Counting objects: 168364, done.

remote: Compressing objects: 100% (47168/47168), done.

remote: Total 168364 (delta 120102), reused 168334 (delta 120079)

Receiving objects: 100% (168364/168364), 32.06 MiB | 2.27 MiB/s, done.

Resolving deltas: 100% (120102/120102), done.

From https://github.com/Homebrew/homebrew

 * [new branch]      master     -> origin/master

HEAD is now at 726d3d9 swi-prolog: optional libarchive support

==> Installation successful!

You should run `brew doctor' *before* you install anything.

Now type: brew help

 

참고로 Homebrew는 설치되는 패키지를 /usr/local/Cellar 디렉토리에 설치합니다.

 

3. Homebrew를 사용하여 패키지 설치하기

 

Homebrew의 설치가 완료되었다면 Howebrew를 사용하여 패키지를 관리할 수 있습니다.

시험삼아 wget이라는 패키지를 설치해 보겠습니다.

 

우선 wget을 실행해 보겠습니다. 설치되어있지 않습니다.

$ wget

-bash: /usr/local/bin/wget: No such file or directory

 

다음의 명령을 입력하여 wget을 설치합니다.

$ brew install wget

 

wget 패키지는 openssl 패키지가 필요하므로 먼저 openssl 패키지를 설치한 후 wget을 설치합니다.

$ brew install wget

==> Installing wget dependency: openssl

==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/openssl-1.0

######################################################################## 100.0%

==> Pouring openssl-1.0.1g.mavericks.bottle.tar.gz

==> Caveats

A CA file has been bootstrapped using certificates from the system

keychain. To add additional certificates, place .pem files in

  /usr/local/etc/openssl/certs

 

and run

  /usr/local/opt/openssl/bin/c_rehash

 

This formula is keg-only, so it was not symlinked into /usr/local.

 

Mac OS X already provides this software and installing another version in

parallel can cause all kinds of trouble.

 

The OpenSSL provided by OS X is too old for some software.

 

Generally there are no consequences of this for you. If you build your

own software and it requires this formula, you'll need to add to your

build variables:

 

    LDFLAGS:  -L/usr/local/opt/openssl/lib

    CPPFLAGS: -I/usr/local/opt/openssl/include

 

==> Summary

 

4. Homebrew를 사용하여 설치된 패키지 삭제하기

 

앞에서 설치한 wget 패키지를 삭제해 보도록 하겠습니다.

$ brew uninstall wget

Uninstalling /usr/local/Cellar/wget/1.15_1...

 

하지만 의존성에 의해서 함께 설치된 openssl은 삭제되지 않으므로 수동으로 삭제해야 합니다.

$ brew uninstall openssl

Uninstalling /usr/local/Cellar/openssl/1.0.1g...

 

5. Homebrew 삭제하기

 

Homebrew는 다음과 같이 삭제할 수 있습니다.

$ cd `brew --prefix`

$ rm -rf Cellar

$ brew prune

$ rm `git ls-files`

$ rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions

$ rm -rf .git

$ rm -rf ~/Library/Caches/Homebrew

 

 

top
  1. 지나가다 2014.07.04 22:13 신고 댓글주소 | 수정/삭제 | 댓글

    죄송치만, MacPorts의 여러가지 문제점이 무엇인지 구체적으로 알수 있을까요?

    • 맥쓰는풍경/송호정 2014.07.06 23:42 신고 댓글주소 | 수정/삭제

      저도 MacPorts 잠깐 쓰다가 Homebrew로 넘어와서 확실하게는 모르겠네요...^^ 그냥 문제가 많다는 것만 알고있습니다.
      혹시 현재는 해결되었을지도 모르지만요...^^

      인터넷에서 찾은 몇년전 포스팅 주소입니다.
      http://dalinaum-kr.tumblr.com/post/2986196227/hello-homebrew

  2. 제시아빠 2018.03.16 21:59 신고 댓글주소 | 수정/삭제 | 댓글

    안녕하세여 tmux설치때메 사일째헤매고 잇는 한사람인데ㅠ 맥사용한지 얼마 안되서 많이 버벅이는 중인데 iterm2 zsh tmux 설치후 iterm2은 그냥 앱삭제프로그램으로 삭제가 가능한데
    zsh tmux는 삭제 방법을 몰르는데 혹시 아시면 답변 좀 부탁드리겠습니다 전부 터미널에서
    설치하였습니다..이거때메 수동으로 윈도우처럼 플그램 삭제후 폴더 삭제까지 하면 간단한지 알았는데
    안되서 os2번이나 재설치 하였네용 ㅠ수동으로 폴더 찾아서 이것저것 지웟더니 시스템이 에러나네여
    또한 brew설치후 뭐 다운설치할때
    자동으로 경로를 잡아주나요? 혹시
    초보자에게 답변 주시면 감사하겠습니다!
    맥북 레티나 하이시에라 최신버젼 쓰고 있습니다

    • 맥쓰는풍경/송호정 2018.03.21 23:18 신고 댓글주소 | 수정/삭제

      안녕하세요^^
      패키지 설치 때문에 고생하시는군요...

      homebrew로 설치하였으면 homebrew로 삭제하면 됩니다.
      > brew uninstall tmux
      이렇게 하면 삭제 됩니다.

      또한 brew를 사용하여 패키지를 설치하게 되면...
      /usr/local/Cellar 디렉토리에 설치가 됩니다.

Write a comment