상태: 폐기됨
이 문서는 폐기되었으며 더 이상 유지되지 않습니다.
이유
Homebrew는 이제 Linux에 대한 본선 지원을 제공합니다.
대신 확인하세요
이 문서는 참고용으로 여전히 유용할 수 있지만 작동하지 않거나 최상의 방법을 따르지 않을 수 있습니다. 운영 체제에 맞게 최근에 작성된 문서를 사용하는 것을 강력히 권장합니다.
소개
LinuxBrew는 인기있는 Mac OS X HomeBrew 패키지 관리자의 Linux 포크입니다.
LinuxBrew는 시스템의 기본 패키지 관리(예: Debian/Ubuntu의 “apt/deb” 및 CentOS/RedHat의 “yum/rpm”) 위에 소스로부터 패키지를 설치할 수 있게 해주는 패키지 관리 소프트웨어입니다.
LinuxBrew를 사용하는 이유?
-
HomeBrew는 원래 Mac OS X를 위해 개발되었으며(표준 오픈 소스 패키지 관리 시스템이 없습니다), MacPorts 및 Fink와 같은 패키지 관리 시스템을 대체했습니다. 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 사용자 agordon은 gordon이라는 홈브루 레포지토리를 가지고 있으며, 전체 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
참고
-
brew tap
은 사용자 이름agordon
과 저장소 접미사gordon
(‘homebrew-gordon’의 접미사)를 사용하고 GitHub URL을 추론했습니다. -
사용자 지정 저장소의 공식 HomeBrew 저장소의 공식 홈브루 레포지토리와 충돌할 수 있습니다. 이는 완전히 정상입니다. 이러한 패키지를 설치하는 방법은 아래에서 확인하십시오.
사용자 정의 저장소에서 충돌하지 않는 패키지를 설치하려면 다음을 실행하십시오:
$ brew install libjson
특정 탭에서 패키지를 설치하려면 다음을 실행하십시오:
$ brew install agordon/gordon/coreutils
자세한 정보
참고: HomeBrew와 관련된 정보를 읽을 때 Mac OS X용으로 개발되었다는 사실을 염두에 두십시오.
HomeBrew의 리눅스 포트인 LinuxBrew는 HomeBrew와 많은 공통점을 가지고 있지만 리눅스에 특화된 차이점도 있습니다.
<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