ステータス:非推奨

この記事は非推奨になり、保守されなくなりました。

理由

HomebrewはLinuxのメインラインサポートを提供するようになりました。

代わりに参照してください

この記事は参照として役立つ場合がありますが、機能しない場合やベストプラクティスに従わない場合があります。 使用しているオペレーティングシステム用に書かれた最近の記事を使用することを強くお勧めします。

イントロ


LinuxBrew は、人気のあるMac OS X HomeBrewパッケージマネージャーのLinuxフォークです。

LinuxBrew はパッケージ管理ソフトウェアであり、システムのデフォルトのパッケージ管理(例: Debian/Ubuntuでは「apt/deb」、CentOS /RedHatでは「yum/rpm」)。

LinuxBrewを使用する理由


  • HomeBrew は、もともとMac OS X用に開発されました(標準のオープンソースパッケージ管理システムはありません)。 MacPortsFinkなどのパッケージ管理に取って代わりました。 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 /リポジトリは、 Formulas –ローカルファイルまたはGitHubリポジトリに保存されている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

ノート

  1. brew tapは、ユーザー名agordonとリポジトリサフィックスgordon(’homebrew-gordon’のサフィックス)を使用し、アクセスするgithubURLを推定しました。

  2. カスタム再投稿の数式は、公式のHomeBrewリポジトリの数式と競合する可能性があります。 それは完全に正常です。 このようなパッケージのインストール方法については、以下を参照してください。

カスタムリポジトリから競合しないパッケージをインストールするには、次のコマンドを実行します。

$ brew install libjson

特定のタップからパッケージをインストールするには、次のコマンドを実行します。

$ brew install agordon/gordon/coreutils

詳しくは


注: HomeBrew関連の情報を読むときは、HomeBrewがMacOSX用に開発されていることに注意してください。

LinuxBrew (HomeBrewのlinux-port)には、HomeBrewと多くの共通点がありますが、Linux固有の違いもいくつかあります。

HomeBrew Wiki

HomeBrew FAQ

HomeBrewフォーミュラクックブック

HomeBrewのトラブルシューティング

LinuxBrewWebサイト

LinuxBrewの既知の問題

https://github.com/agordonによって送信されました