Linux 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は、Linux向けにポーティングされたHomebrewです。

  • ほとんどのLinuxディストリビューションには優れたパッケージ管理システムがあります(例:Debian/Ubuntuの「apt/deb」とCentOS/RedHatの「yum/rpm」)。しかし、

    • 標準のリポジトリのパッケージは、最新の利用可能なバージョンよりも古いことがよくあります。そして、

    • 多くのオープンソースのパッケージは、標準のリポジトリに利用できないことがあります(例:一般的なバイオインフォマティクスツール)。

  • LinuxBrewは、ディストリビューションの標準リポジトリからのパッケージに加えて、ソースからインストールしてローカルマシンでコンパイルされるソフトウェアインストールレシピのリポジトリを提供します。

  • LinuxBrewは、独自のリポジトリ(つまり、ニーズに合わせたオープンソースのパッケージのリスト)を作成する簡単な方法を提供します。

  • LinuxBrewは、ユーザー指定のディレクトリにソフトウェアをインストールします(システム全体ではなく)、sudoアクセスは不要です。

  • LinuxBrew(およびHomeBrew)はGitHubと非常にうまく統合されており、インストールレシピの共有が容易になっています。

特に、この時点で(この文章が書かれた時点では)カスタム構成されたインストールされたソフトウェアを提供しないDigitalOceanでは、LinuxBrewリポジトリを使用して、標準のLinuxマシンに特定のパッケージとバージョンを迅速にインストールする方法が提供されます。

LinuxBrewの要点


要するに、LinuxBrewtar.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をクローンする


整理しやすくするために、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のインストールが認識しているすべてのパッケージ、リポジトリの追加に関する詳細は以下を参照してください)。

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とTestingにはjqパッケージがまったくありません。LinuxBrewのバージョンは最新のもの(1.3)です。さらに、LinuxBrewはプログラムをシステムのデフォルトの場所と競合しないパスにインストールします。

既存のHomeBrewリポジトリの追加


HomeBrew/LinuxBrewリポジトリはTAPSと呼ばれます。これらは単純に、Rubyスクリプト( ‘Formulas’)を含むGitHubリポジトリです。 HomeBrew Githabユーザーにはいくつかの共通のリポジトリがあります。

例: 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

TAPsとパッケージの更新


フォーミュラの更新をダウンロードするには、次を実行します:

$ 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リポジトリ内の数式


カスタムTAPリポジトリをGitHubで作成するには、新しいGitHubリポジトリ(ユーザーのGitHubアカウント内)を作成し、homebrew-NAMEという名前を付けます。これはHomeBrew/LinuxBrewのタップとして機能するために、‘homebrew-’で始める必要があります。NAMEは任意の名前にできます。

例:

GitHubユーザーagordonは、gordonという名前のHomeBrewリポジトリを持っています。完全な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関連の情報を読む際には、HomeBrew はMac OS X向けに開発されたことを念頭に置いてください。

LinuxBrew(HomeBrewのLinuxポート)は、HomeBrewと多くの共通点がありますが、一部のLinux固有の違いもあります。

HomeBrew Wiki

HomeBrew FAQ

HomeBrew Formula Cookbook

HomeBrew Troublehsooting

LinuxBrew WebSite

LinuxBrew Known Issues

<div class=“author”>提供者: <a href=“https://github.com/agordon”>Assaf Gordon</a></div>

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