본문 바로가기
소프트웨어 개발

맥오에스 홈브루 설치, 디렉토리 구조 이해하기

by Endi Yoo 2023. 4. 11.
반응형

홈브루(Homebrew)는 주로 개발자들이 애플 맥오에스(Apple macOS)를 사용하게 되면 필수적으로 사용하게 되는 프로그램인데요. 홈브루를 아직 설치해 보지 않은 경우 설치부터 홈브루 디렉터리 구조와 추가적인 프로그램 설치(패키지 설치)까지 단계적으로 해 볼 수 있도록 하겠습니다. 우선 홈브루란 무엇인지부터 이야기를 해야겠죠.

홈브루 설치 at 공식 페이지

1. 맥오에스(macOS) 홈브루란?

홈브루(Homebrew)는 애플 맥오에스(Apple macOS)에서 기본적으로 제공하지 않는 소프트웨어 패키지를 쉽게 설치할 수 있도록 도와주는 프로그램입니다. 저는 사용해 보지는 않았지만 현재 홈브루는 맥오에스뿐 아니라 리눅스 환경에서도 사용가능하다고 공식 홈페이지에서 안내를 하고 있습니다. 설치 정보는 공식 홈페이지에도 나와 있으니 간단히 설치만 하고 싶으시면 공식 홈페이지를 통해서 명령어를 복사해서 실행하시면 됩니다.

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

1. 1 홈브루는 개발자들이 많이 사용합니다.

일반적으로 맥오에스를 사용하시는 분들 보다는 개발자들이 주로 설치해서 사용하게 됩니다. 그 이유는 개발자들이 주로 사용하는 프로그램들이 유닉스나 리눅스에 동작하는 것이 많은데요. 이 프로그램을 애플이 맥오에스에 기본으로 설치를 해 주지 않기 때문입니다. 다행인 것은 맥오에스가 유닉스와 유사하기 때문에 프로그램의 소스를 다운로드하여서 컴파일을 해서 설치를 하는 것이 가능한데요. 이 과정을 홈브루가 대신해 주게 되어 개발에 필요한 거의 모든 프로그램을 홈브루 명령어만으로 설치하는 것을 가능하게 해 주는 것입니다.

1.2 홈브루는 개발에 필요한 거의 모든 프로그램 설치가 가능합니다.

홈프루에서는 설치 가능한 프로그램을 홈브루 포뮬러(Homebrew Formulae)라고 합니다. 여기에는 gcc, Python, NodeJs, Java 등 프로그래밍 언어, wget, curl 등의 유틸리티도 있습니다. 구글의 자바스크립트 엔진인 V8도 설치할 수 있고요. 

지난 30일 동안 홈브루를 통해 설치된 상위 10개의 포뮬러 리스트입니다.

순위 포뷸라 인스톨 수 비율
1 openssl@1.1 16,615 1.56%
2 sqlite 16,386 1.53%
3 ca-certificates 15,877 1.49%
4 xz 14,531 1.36%
5 icu4c 14,198 1.33%
6 glib 12,015 1.13%
7 readline 11,448 1.07%
8 pcre2 11,377 1.07%
9 libpng 11,082 1.04%
10 freetype 10,618 0.99%

2. macOS 홈브루(Homebrew) 설치

맥오에스에서 홈브루를 설치하는 것은 실제로 매우 간단합니다. 간단히 말하면 홈브루 공식 홈페이지 Install Homebrew라고 쓰여 있는 바로 밑에 있는 명령어를 실행하기만 하면 됩니다.

2.1 터미널 열기

키보드에서 커맨드키와 스페이스(command+space) 키를 같이 눌어서 스폿라이트를 실행합니다. 스폿라이트 입력창에 terminal이라고 입력한 후 엔터키를 눌러서 터미널을 실행합니다.

2.2 공식 홈페이지에서 설치 명령어 복사하기

홈브로 공식 페이지에 가면 제일먼저 보이는 것이 홈브루 설치하는 명령어입니다. 오른쪽에 복사하기 버튼을 눌어서 명령어를 복사합니다. 바로 명령어를 복사하고 싶으신 분을 위해서 아래 명령어를 복사해 두었습니다.

 

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

 

2.3 터미널에서 복사한 명령어 실행하기

앞에서 열어둔 터미널에 복사한 명령어를 붙여 넣기를 합니다. 엔터키를 누르면 홈브루 설치가 시작됩니다. 이때 홈브루를 설치하기 위해서 sudo 비밀번호를 입력할 겁니다. 비번을 입력해서 홈브루 설치를 계속합니다.

 

ken@kMac ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:

 

2.4 홈브루 설치 확인

설치가 완료되면 터미널에 brew info라는 명령어를 실행합니다. 아래와 비슷한 내용이 나오면 설치가 완료된 것입니다.

 

ken@kMac ~ % brew info
8 kegs, 10,887 files, 160.4MB

 

3. 홈브루 디렉토리 구조

홈브루의 디렉토리 구조를 알면 홈브루를 사용하면서 겪게 되는 문제점들을 이해하고 해결하는 데 많은 도움이 됩니다. 구조를 이해하기 위해서 wget을 홈브루를 사용해서 설치해 보겠습니다.

아래 명령어를 실행해서 wget을 설치합니다.

 

brew install wget

 

설치가 완료되면 which wget이라고 명령어를 실행합니다. 이 명령어는 wget 이 설치된 위치를 알려줍니다.

 

ken@kMac ~ % which wget
/usr/local/bin/wget

 

wget이 /usr/local/bin 디렉터리에 설치되었다는 것을 알 수 있습니다. 터미널에서 /usr/local/bin로 이동을 해서 ls -l wget 명령어를 실행합니다.

 

ken@kMac bin % ls -l wget
lrwxr-xr-x  1 ken  admin  32  7 Apr 13:04 wget -> ../Cellar/wget/1.21.3_1/bin/wget

 

이제 /usr/local/bin에 있는 wget이 실제로는 /usr/local/Cellar/wget/1.21.3_1/bin/wget이라는 것을 알게 되었습니다. 실제로 홈브루는 프로그램을 /usr/local/Cellar 디렉터리에 설치를 하고 /usr/local/bin 디렉터리에 씸볼릭 링크를 걸어서 실행이 되도록 합니다.

디렉터리를 /usr/local로 이동후 ls -l을 해 봅니다.

 

ken@kMac local % ls -l
total 0
drwxrwxr-x   2 ken  admin    64  3 Apr 21:55 Caskroom
drwxrwxr-x  16 ken  admin   512  7 Apr 13:04 Cellar
drwxrwxr-x   3 ken  admin    96  7 Apr 10:58 Frameworks
drwxr-xr-x  23 ken  admin   736  3 Apr 22:00 Homebrew
drwxrwxr-x  32 ken  admin  1024  7 Apr 13:04 bin
drwxrwxr-x   8 ken  admin   256  7 Apr 13:04 etc
drwxrwxr-x  32 ken  admin  1024  7 Apr 13:04 include
drwxrwxr-x  49 ken  admin  1568  7 Apr 13:04 lib
drwxrwxr-x  18 ken  admin   576  7 Apr 13:04 opt
drwxrwxr-x   3 ken  admin    96  7 Apr 10:58 sbin
drwxrwxr-x  14 ken  admin   448  7 Apr 13:04 share
drwxrwxr-x   3 ken  admin    96  3 Apr 21:55 var

 

여기서 주요하게 봐야할 것은 디렉터리의 소유주입니다. 디렉터리의 소유주가 모두 ken이라고 하는 사용자로 되어 있어서 ken이 brew 명령어를 사용해서 새로운 포뮬러를 설치하거나 제거하는 것이 가능하게 된 것입니다. 그렇지 않았으면 매번 sudo 명령어를 사용해야 할 거고요.

 

정리

이 글에서 홈브루란 무엇이고 홈브루를 설치하는 방법과 홈브루 디렉터리 구조까지 살펴보았습니다. 특히 디렉터리 구조를 알고 있으면 나중에 홈부루를 사용하는 과정에서 겪게 되는 문제점을 빨리 이해하고 해결하는 데 많은 도움이 될 것입니다.

반응형