LinuxVPSにLinuxBrewをインストールして使用する方法
ステータス:非推奨
この記事は廃止され、メンテナンスされなくなりました。
理由
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はLinuxに自作移植されています。
- ほとんどのLinuxディストリビューションには、優れたパッケージ管理システムがあります(例: ただし、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
の実行(またはパッケージのインストールに必要なコマンド)を処理します。
LinuxBrew Formula は、tar.gz
ファイルの場所、パッケージのビルド方法、およびインストール方法を定義するRubyスクリプトです。
数式ファイルは、 hmmer.rb(バイオインフォマティクスツール)のように単純にすることができます。
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のクローンを作成する
整理整頓するには、LinuxBrewをユーザーのホームディレクトリの隠しディレクトリに複製します。
$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
ただし、他のディレクトリも同様に機能します。
ステップ2-環境変数を更新する
次のステップは、LinuxBrewをユーザーの環境変数に追加することです。
ユーザーの~/.bashrc
ファイルの最後に次の行を追加します。
# Until LinuxBrew is fixed, the following is required. # See: 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 ## Setup 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の現在のインストールで認識されているすべてのパッケージ-リポジトリの追加については、以下を参照してください)。
brew search WORD
と入力して、WORDを含むすべてのパッケージ(HomeBrewの専門用語では Formulas と呼ばれます)を表示します。 例:
$ 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の有用性は明らかです。Ubuntuの最新のリポジトリにはjqがありますが、そのバージョンは古い(1.2)です。 Debian Stable and Testingには、jqパッケージがまったくありません。 LinuxBrewのバージョンは最新のもの(1.3)です。 さらに、LinuxBrewは、システムのデフォルトの場所と競合しないパスにプログラムをインストールします。
既存のHomeBrewリポジトリの追加
HomeBrew/LinuxBrewリポジトリはTAPSと呼ばれます。 これらは、Rubyスクリプト(「式」)を含む単なるGitHubリポジトリです。 HomeBrew GithabUserにはいくつかの一般的なリポジトリがあります。
例: 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
TAPとパッケージの更新
数式の更新をダウンロードするには、次のコマンドを実行します。
$ brew update
パッケージをアップグレードするには(更新が利用可能な場合)、次を実行します。
$ brew upgrade PACKAGE
カスタム/プライベートTAP(リポジトリ)の作成
HomeBrew TAP /リポジトリは、ローカルファイルまたはGitHubリポジトリに保存されている Formulas –Rubyスクリプトの単なるコレクションです。
ローカルファイルの数式
ローカルファイルから数式をインストールするには、次のコマンドを実行します。
$ brew install /full/path/to/file.rb
これは、新しい式を作成(およびデバッグ)するときに役立ちます。
GitHubリポジトリの数式
githubでカスタムTAPリポジトリを作成するには、(ユーザーのgithubアカウントに)新しいGitHubリポジトリを作成し、homebrew-NAME
という名前を付けます。 HomeBrew / LinuxBrewタップとして機能するには、「homebrew-」で始まる必要があります。 NAME
には任意の名前を付けることができます。
例:
GitHubユーザーagordonには、 gordon という名前のHomeBrewリポジトリがあり、完全なURLはhttps://github.com/agordon/homebrew-gordonです。
このリポジトリを使用するには(「タップ」):
$ 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'のサフィックス)を使用し、アクセスするgithubURLを推定しました。- カスタム再投稿の数式は、公式のHomeBrewリポジトリの数式と競合する可能性があります。 それは完全に正常です。 このようなパッケージのインストール方法については、以下を参照してください。
カスタムリポジトリから競合しないパッケージをインストールするには、次のコマンドを実行します。
$ brew install libjson
特定のタップからパッケージをインストールするには、次のコマンドを実行します。
$ brew install agordon/gordon/coreutils
詳しくは
注: HomeBrew関連の情報を読むときは、HomeBrewがMacOSX用に開発されていることに注意してください。
LinuxBrew (HomeBrewのlinux-port)には、HomeBrewと多くの共通点がありますが、Linux固有の違いもいくつかあります。