Linuxbrew」がとても便利だ。
ソースコードからビルドしてcheckinstallとかで管理していたものを、Linuxbrewからインストールするようにいくつか切り替えている。
最新版のffmpegとかソースからビルドしようと思うと、4回ぐらいmakeコマンド叩かないといけないんだけど、これだと一発で済む。

Linuxbrewとは

Linuxbrewは簡単にいうとHomebrewのLinux版だ。
(Linux|Home)brewとは、Homeディレクトリ以下に任意のパッケージをソースからインストールすることが出来るパッケージ管理ツール。
Macを使ってない自分にとってHomebrewを使うことは無いだろうと思っていたので、Linuxbrewの存在を知った時にはちょっとワクワクした。
そして、実際に使ってみるとその完成度の高さに驚いている。
各ユーザーが好き勝手にパッケージを入れられるのでサーバ管理者なんかは嫌がるツールかもしれないが、個人で使う分にはめちゃくちゃ便利だね。

インストール方法

基本的に公式サイトに書いてある通りやればOK。

依存パッケージをインストールする

DebianとかUbuntuなら

sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev

Redhat系だと

sudo yum groupinstall 'Development Tools' && sudo yum install curl git m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel

Linuxbrewのインストール

ruby -e "$(wget -O- https://raw.github.com/Homebrew/linuxbrew/go/install)"

又は

git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

vi .bashrc or .zshrc

export PATH="$HOME/.linuxbrew/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH"

でOK。
個人的には、後者の方法でインストールした。

資産の共有

コマンド等も殆どHomebrewと同じらしいので、Homebrew使っていた人には違和感無く使いこなせるはず。
Formulaと言われるRubyのコードにビルド手順が書かれていて、それを元に自動的にビルドしてくれるんだけど、Homebrewと同じFormulaファイルを使えるところが素晴らしい。
なので、HomebrewのFormulaの不具合もLinuxbrewに自動的にフィードバックされる。
Linuxbrew設計した人は素晴らしいな。

AnsibleのHomebrewモジュールが利用可能

AnsibleのHomebrewモジュールがLinuxbrewでもそのまま利用可能っぽい。
コマンドが殆ど同じなら動くんじゃね?と思って試してみたら、やっぱり動いてくれた!

homebrew - Package manager for Homebrew — Ansible Documentation

ちなみに最新のffmpegをインストールしたい場合はこんな感じでかけば良い。

# ffmpeg latest version install
- name: install ffmpeg
  homebrew: name=ffmpeg install_options=with-fdk-aac state=latest

1行で終わる。
これで自動化も安心だわー。

最後に

DebianのStableを使っていると、パッケージがどんどん古くなるんで、どうしたもんかなーって思っていたんだけど、サーバとかではなく個人で使うアプリケーションならLinuxbrewでも良いかなと思う。
個人的にはtmux1.9とかもLinuxbrewで最新版をインストールした。 ソースがgithubのhomebrewアカウントにあるってことも個人的には安心感があるし、今後もHomebrewを追随していって欲しいな。