목록으로

패키지 관리자 Homebrew 사용하기

시리즈, 입문
2024. 4. 10. PM 9:21:44

패키지 관리자 (Package manager)

패키지 관리자는 소프트웨어 설치, 업그레이드, 구성, 제거를 간소화하는 도구예요. 운영체제별로 다양한 패키지 관리자가 있으며, 이들은 시스템 전반에 걸쳐 소프트웨어를 관리하는 데 중요한 역할을 하죠. 예를 들어, 리눅스에는 apt, yum, dnf와 같은 패키지 관리자가 있고, 맥OS에는 Homebrew가 있어요. 윈도우엔 Chocolatey, Winget이 있어요.

수동 관리하는 방식

패키지 관리자를 사용하지 않고 사용자가 직접 관리하는 방식이죠. 사용자가 직접 소프트웨어를 설치하려면, 공식 웹사이트나 신뢰할 수 있는 웹사이트에서 내려받거나 CD, DVD 같은 매체를 이용하죠. 대부분의 소프트웨어는 다른 소프트웨어, 가령 라이브러리 같은 도구에 의존하는데, 의존하는 도구를 함께 배포하기도 하지만 대개는 효율과 라이선스 문제로 의존 라이브러리를 직접 배포하진 않아요. 만약 모든 소프트웨어가 자신이 사용하는 모든 도구를 패키지 하나로 합쳐서 배포하고 설치한다면 금방 보조 기억장치 용량이 부족해질 거예요. 설치 패키지도 용량이 커지는 건 물론이고요.
대부분의 소프트웨어는 라이브러리 같은 도구를 운영체제의 공용 영역에 설치하거나 이미 있는 걸 사용해요. 문제는 소프트웨어마다 의존하는 도구의 버전이 제각각이라는 점에 있어요. 만약 내가 사용하려는 소프트웨어가 의존하는 도구의 버전이 내 운영체제에 없다면 직접 해당 도구를 찾아서 설치해야 하죠.
그리고, 소프트웨어를 최신 버전으로 갱신하고 관리하는 것도 신경써야 해요. 특히 보안과 관련된 업데이트는 잘 챙겨야하죠. 하지만 수동으로 관리하면 제대로 업데이트를 챙기지 못할 가능성이 커요. 무엇보다도 무엇을 설치했는지 기억하기 어렵잖아요. 😱

패키지 관리자로 관리하는 방식

패키지 관리자는 사용자가 실행하는 명령 한 줄로 소프트웨어를 설치해요. 설치에 필요한 정보를 원격 저장소에 두고, 소프트웨어를 설치하면 이 정보 내려받아서 절차에 따라 설치하죠. 소프트웨어가 의존하고 있는 도구가 사용자의 운영체제에 있는지 검사도 하고, 없으면 자동으로 함께 설치하고 구성해요. 까다롭고 번거로우며 복잡한 설치 과정을 패키지 관리자가 대신 해주죠.
소프트웨어 업데이트도 관리해줘요. 패키지 관리자마다 정책이 조금씩 다른데, Homebrew의 경우 자주 의존성이나 업데이트를 확인해서 최신 상태로 유지하도록 기본 설정되어 있죠.
패키지 관리자는 쓰지 않을 이유보다 써야할 이유가 월등히 많은 좋은 도구예요. 아주 세세하거나 독특한 환경에 소프트웨어를 설치하고 설정하는 게 아니라면, 그리고 아직 패키지 관리자를 써보지 않았다면 이 기회에 사용해보세요.

패키지 관리자 Homebrew

Homebrew는 맥OS와 리눅스 사용자를 위한 오픈 소스 패키지 관리자에요. Ruby라는 프로그래밍 언어로 작성되어있는데, 편리하게 소프트웨어를 관리할 수 있어 많은 사람이 애용하고 있는 도구입니다.
특징과 장점을 소개하자면,
  • 간단한 설치 및 사용 : Homebrew는 사용하기 쉽게 설계되어 있어요. 패키지 설치는 brew install 명령어로 간단하게 수행되죠.
  • 광범위한 패키지 : 패키지 관리자로 소프트웨어를 설치하도록 하면, 해당 소프트웨어에 대한 메타 정보를 내려받는다고 했잖아요. 그 말은 이 저장소에 내가 설치하려는 소프트웨어에 대한 정보가 없으면 패키지 관리자로 관리하지 못한다는 걸 뜻해요. Homebrew는 수천 개의 패키지를 제공해요. 그래서 웬만한 개발 도구, 라이브러리, 애플리케이션 등 다양한 소프트웨어를 쉽게 설치할 수 있죠.
  • 의존성 관리: Homebrew는 패키지 설치 시 필요한 의존성을 자동으로 해결하고 관리합니다. 이는 사용자가 수동으로 각 의존성을 설치하고 관리하는 번거로움을 줄여주는, 패키지 관리자의 기본 덕목이죠.
  • Cask : Shell, 그러니까 CLI(또는 CUI)에서 사용하는 소프트웨어 뿐만 아니라 GUI 기반 애플리케이션도 Homebrew로 관리할 수 있는데, 이런 패키지를 Homebrew Cask라고 해요. 가령, 웹 브라우저인 Firefox를 굳이 공식 웹사이트에 가서 설치 파일을 내려받아서 설치하지 않고, Homebrew를 이용해 명령 한 줄로 설치할 수 있어요. brew install firefox --cask 이 한 줄만으로요.
이번 편에서는 Homebrew를 이용해 Shell에서 소프트웨어를 설치하고 관리하는 방법을 살펴볼게요. 강력하고 예쁜 터미널 앱인 wezterm을, 그리고 Python 최신 버전을 Homebrew로 설치해볼까요?

설치하기

푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.
목차