본문 바로가기
OS X App

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

by 맥쓰는풍경/송호정 2014. 4. 29.

맥에서 패키지를 관리하자 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

 

 

반응형

댓글4