리눅스 VPS에 LinuxBrew 설치 및 사용 방법

상태: 폐기됨

이 문서는 폐기되었으며 더 이상 유지되지 않습니다.

이유

Homebrew는 이제 Linux에 대한 본선 지원을 제공합니다.

대신 확인하세요

이 문서는 참고용으로 여전히 유용할 수 있지만 작동하지 않거나 최상의 방법을 따르지 않을 수 있습니다. 운영 체제에 맞게 최근에 작성된 문서를 사용하는 것을 강력히 권장합니다.

소개


LinuxBrew는 인기있는 Mac OS X HomeBrew 패키지 관리자의 Linux 포크입니다.

LinuxBrew는 시스템의 기본 패키지 관리(예: Debian/Ubuntu의 “apt/deb” 및 CentOS/RedHat의 “yum/rpm”) 위에 소스로부터 패키지를 설치할 수 있게 해주는 패키지 관리 소프트웨어입니다.

LinuxBrew를 사용하는 이유?


  • HomeBrew는 원래 Mac OS X를 위해 개발되었으며(표준 오픈 소스 패키지 관리 시스템이 없습니다), MacPortsFink와 같은 패키지 관리 시스템을 대체했습니다. LinuxBrew는 리눅스로 이식된 HomeBrew입니다.

  • 대부분의 리눅스 배포판은 좋은 패키지 관리 시스템을 보유하고 있습니다(예: Debian/Ubuntu의 “apt/deb” 및 CentOS/RedHat의 “yum/rpm”), 그러나

    • 표준 저장소의 패키지는 최신 버전보다 오래될 수 있으며,

    • 많은 오픈 소스 패키지가 표준 저장소에 없을 수 있습니다(예: 일반적인 생물 정보학 도구).

  • LinuxBrew는 소프트웨어 설치 레시피의 저장소를 제공하며(패키지는 소스로부터 설치되어 로컬 머신에서 컴파일됨), 배포판의 표준 저장소에서 제공되는 패키지들을 보완합니다.

  • LinuxBrew는 자체 저장소를 만드는 간편한 방법을 제공합니다(즉, 사용자의 필요에 맞는 오픈 소스 패키지 목록).

  • LinuxBrew는 사용자가 지정한 디렉터리에 소프트웨어를 설치하며(시스템 전역이 아님), sudo 액세스가 필요하지 않습니다.

  • LinuxBrew (그리고 HomeBrew)은 GitHub과 매우 잘 통합되어 설치 레시피를 쉽게 공유할 수 있습니다.

특히 이 글을 쓰는 시점에서 사용자 지정 구성된 설치된 소프트웨어가 포함된 공유 가능한 드롭렛 이미지를 제공하지 않는 DigitalOcean에서는 LinuxBrew 리포지토리를 사용하여 표준 Linux 기계에 특정 패키지 및 버전을 빠르게 설치할 수 있습니다.

LinuxBrew의 핵심


LinuxBrew는 간단히 말해 tar.gz 파일을 다운로드하고 ./configure && make && make install을 실행합니다 (또는 패키지를 설치하는 데 필요한 다른 명령들을 실행합니다).

A LinuxBrew Formula is a Ruby script which defines where to find the tar.gz file, how to build the package, and how to install it.

A formula file can be as simple as hmmer.rb (a bioinformatics tool):

class Hmmer < Formula
  homepage 'http://hmmer.janelia.org/'
  url 'http://selab.janelia.org/software/hmmer3/3.1b1/hmmer-3.1b1.tar.gz'

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make"
    system "make install"
  end
end

또는 emacs.rb와 같이 복잡할 수도 있습니다.

한번 공식 파일이 정의되면, 패키지를 설치하는 것은 단순히 다음을 실행하는 것입니다:

$ brew install FORMULA

LinuxBrew 준비 – Debian/Ubuntu


Debian/Ubuntu 기반 시스템에서는 다음 명령을 실행하십시오:

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo sudo apt-get install -y build-essential make cmake scons curl git \
                               ruby autoconf automake autoconf-archive \
                               gettext libtool flex bison \
                               libbz2-dev libcurl4-openssl-dev \
                               libexpat-dev libncurses-dev

LinuxBrew 준비 – CentOS/RedHat


RedHat/CentOS 기반 시스템에서는 다음 명령을 실행하십시오:

$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ sudo yum install -y \
        autoconf automake19 libtool gettext \
        git scons cmake flex bison \
        libcurl-devel curl \
        ncurses-devel ruby bzip2-devel expat-devel

LinuxBrew 설치


LinuxBrew를 설치하는 것은 단순히 LinuxBrew 저장소를 클론하는 것입니다.

단계 1 – LinuxBrew 클론


겔(Git)을 이용해 LinuxBrew를 사용자의 홈 디렉터리의 숨겨진 디렉터리로 클론합니다:

$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

하지만 다른 디렉터리에서도 잘 작동합니다.

단계 2 – 환경 변수 업데이트


다음 단계는 사용자의 환경 변수에 LinuxBrew를 추가하는 것입니다.

사용자의 ~/.bashrc 파일 끝에 다음 줄을 추가하십시오:

# LinuxBrew가 수정될 때까지 다음이 필요합니다.
# 참조: https://github.com/Homebrew/linuxbrew/issues/47
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH
## Linux Brew 설정
export LINUXBREWHOME=$HOME/.linuxbrew
export PATH=$LINUXBREWHOME/bin:$PATH
export MANPATH=$LINUXBREWHOME/man:$MANPATH
export PKG_CONFIG_PATH=$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH

참고: 만약 LinuxBrew를 다른 디렉토리에 설치했다면, 위의 LINUXBREWHOME 경로를 변경하십시오.

단계 3 – 설치 테스트


이러한 변경 사항이 적용되었는지 확인하려면 로그아웃하고 다시 로그인하십시오. 그러면 쉘이 이러한 새 설정을 사용해야 합니다.

이 새 설정을 테스트하려면 다음을 시도하십시오:

$ which brew
/home/ubuntu/.linuxbrew/bin/brew
$ echo $PKG_CONFIG_PATH
/home/ubuntu/.linuxbrew/lib64/pkgconfig:/home/ubuntu/.linuxbrew/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:

LinuxBrew로 패키지 설치


어떤 패키지들이 이용 가능한가요?


모든 사용 가능한 패키지 목록을 보려면 brew search를 입력하세요 (현재 LinuxBrew 설치가 알고 있는 모든 패키지 – 저장소 추가에 대한 내용은 아래 참조).

단어를 포함하는 모든 패키지(홈브류 용어로는 Formulas라고 함)를 보려면 brew search WORD를 입력하세요. 예시:

$ brew search xml
blahtexml       libnxml   libxml2     xml-coreutils   xml2        xmlrpc-c
html-xml-utils  libwbxml  libxmlsec1  xml-security-c  xmlcatmgr   xmlsh
libmxml         libxml++  tinyxml     xml-tooling-c   xmlformat   xmlstarlet

패키지 설치


패키지를 설치하려면 brew install PACKAGE를 실행하세요.

예시, jq – JSON 프로세서 설치:

$ brew install jq
==> Downloading http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz
==> ./configure
==> make
/home/ubuntu/.linuxbrew/Cellar/jq/1.3: 7 files, 256K, built in 10 seconds
$ which jq
/home/ubuntu/.linuxbrew/bin/jq
$ jq --version
jq version 1.3

LinuxBrew의 유용성이 명백합니다: 우분투는 최신 저장소에 jq를 가지고 있지만, 그 버전은 오래되었습니다(1.2). Debian Stable 및 Testing에는 jq 패키지가 전혀 없습니다. LinuxBrew의 버전은 가장 최신입니다(1.3). 또한, LinuxBrew는 프로그램을 시스템의 기본 위치와 충돌하지 않는 경로에 설치합니다.

기존 홈브류 저장소 추가


홈브류/LinuxBrew 저장소는 TAPS라고 합니다. 이것들은 간단히 루비 스크립트(‘Formulas’)를 포함하는 GitHub 저장소입니다. 홈브류 GitHub 사용자에는 여러 일반 저장소가 있습니다.

예: homebrew-science 저장소 (다양한 유용한 오픈 소스 과학 프로그램을 포함함) 및 HomeBrew-Games 저장소:

$ brew tap homebrew/science
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-science'...
Tapped 237 formula
$ brew tap homebrew/games
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-games'...
Tapped 57 formula

사용 가능한 탭 목록:

$ brew tap
homebrew/science
homebrew/games

이러한 저장소에서 패키지를 설치합니다:

$ brew install gnu-go
==> Downloading http://ftpmirror.gnu.org/gnugo/gnugo-3.8.tar.gz
#################################################################
==> ./configure --prefix=/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8 --with-readline=/usr/lib
==> make install
/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8: 9 files, 7.0M, built in 60 seconds

탭 및 패키지 업데이트


포뮬러 업데이트를 다운로드하려면 다음을 실행하십시오:

$ brew update

패키지를 업그레이드하려면 (업데이트가 가능한 경우) 다음을 실행하십시오:

$ brew upgrade PACKAGE

사용자 정의/개인 TAPs (저장소) 생성


A HomeBrew TAP/Repository is simply a collection of Formulas – Ruby scripts stored in local files or in GitHub repositories.

로컬 파일에 있는 포뮬러


로컬 파일에서 포뮬러를 설치하려면 다음을 실행하십시오:

$ brew install /full/path/to/file.rb

이것은 새로운 포뮬러를 생성하고 디버깅할 때 유용합니다.

GitHub 저장소의 공식 홈브루 레포지토리


GitHub에서 사용자의 GitHub 계정에 새로운 GitHub 저장소를 만들고 homebrew-NAME으로 이름을 지정하여 사용자 지정 TAP 저장소를 생성합니다. 홈브루/LinuxBrew tap으로 작동하려면 이것은 ‘homebrew-‘로 시작해야 합니다. NAME은 원하는 이름으로 지정할 수 있습니다.

예시:

GitHub 사용자 agordongordon이라는 홈브루 레포지토리를 가지고 있으며, 전체 URL은 다음과 같습니다: https://github.com/agordon/homebrew-gordon.

이 저장소를 사용하려면 (“tap it”을 사용):

$ brew tap agordon/gordon
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/agordon-gordon'...
Warning: Could not tap agordon/gordon/libestr over Homebrew/homebrew/libestr
Warning: Could not tap agordon/gordon/coreutils over Homebrew/homebrew/coreutils
Tapped 12 formula

참고

  1. brew tap은 사용자 이름 agordon과 저장소 접미사 gordon (‘homebrew-gordon’의 접미사)를 사용하고 GitHub URL을 추론했습니다.

  2. 사용자 지정 저장소의 공식 HomeBrew 저장소의 공식 홈브루 레포지토리와 충돌할 수 있습니다. 이는 완전히 정상입니다. 이러한 패키지를 설치하는 방법은 아래에서 확인하십시오.

사용자 정의 저장소에서 충돌하지 않는 패키지를 설치하려면 다음을 실행하십시오:

$ brew install libjson

특정 탭에서 패키지를 설치하려면 다음을 실행하십시오:

$ brew install agordon/gordon/coreutils

자세한 정보


참고: HomeBrew와 관련된 정보를 읽을 때 Mac OS X용으로 개발되었다는 사실을 염두에 두십시오.

HomeBrew의 리눅스 포트인 LinuxBrew는 HomeBrew와 많은 공통점을 가지고 있지만 리눅스에 특화된 차이점도 있습니다.

HomeBrew 위키

HomeBrew FAQ

HomeBrew Formula Cookbook

HomeBrew 문제 해결

LinuxBrew 웹사이트

LinuxBrew 알려진 문제

<div class=“author”> 제출자: <a href=“https://github.com/agordon”>아사프 고든</a></div>

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-linuxbrew-on-a-linux-vps