状態:非推奨
この記事は非推奨であり、もはやメンテナンスされていません。
理由
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向けにポーティングされたHomebrewです。
-
ほとんどの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
を実行します(またはパッケージをインストールするために必要なコマンドを実行します)。
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
注記
-
brew tap
は、ユーザー名agordon
とリポジトリ接尾辞gordon
(’homebrew-gordon’の接尾辞)を使用して、GitHubのURLにアクセスを推測しました。 -
カスタムリポジトリ内の数式は、公式HomeBrewリポジトリ内の数式と競合する可能性があります。これは完全に正常です。このようなパッケージをインストールする方法については、以下を参照してください。
カスタムリポジトリから競合しないパッケージをインストールするには、次のコマンドを実行します:
$ brew install libjson
特定のタップからパッケージをインストールするには、次のコマンドを実行します:
$ brew install agordon/gordon/coreutils
詳細はこちら
注意: HomeBrew関連の情報を読む際には、HomeBrew はMac OS X向けに開発されたことを念頭に置いてください。
LinuxBrew(HomeBrewのLinuxポート)は、HomeBrewと多くの共通点がありますが、一部のLinux固有の違いもあります。
<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