読者です 読者をやめる 読者になる 読者になる

自前ビルドしたパッケージもGNU Stowで楽々管理

なんか有用な割に意外と知名度が低いのでGNU Stowというパッケージ管理ツールを紹介。

Stow - GNU Project - Free Software Foundation

パッケージ管理ツールといえば、Debian系ならapt-get、FedoraとかCentOSだとyum、はたまたMacだとportsとかbrewとかまあいろいろあるわけです。
そんな中でstowは手動パッケージ管理ツールです。

「この前make installしたやつ、やっぱいらなかったなあ」
「あれっ…あのパッケージ、どこにインストールされたんだっけ…?」

そんな経験、あなたにもありませんか!?
そんなあなたにGNU Stow!!
使い方は至ってシンプル。
①パッケージをビルドするときにprefixを指定して
②make install後にstowを叩くだけ!!

$ tar xfvz package.tar.gz
$ cd package
$ mkdir build
$ cd build
$ ../configure --prefix=/usr/local/stow/package
$ make
$ make install
$ cd /usr/local/stow
$ stow -v package

こうすることであなたのビルドしたパッケージは全部/usr/local/stowの中で管理される。
これで自前ビルドしたパッケージが迷子になったりする心配とはおさらばだね!!

何やってるの

Stowの実体は、シンボリックリンクです。
/usr/local/stowの中でstowを叩くと、引数で指定したパッケージのシンボリックリンクを/usr/binみたいなPATHが通ってるディレクトリにはりまくります。
その様子が-vオプションで見えます。
ちなみに、-Dオプションをつけるとdelete、すなわち逆にシンボリックリンクを全部消してクリーンな状態に戻します。
デフォルトのリポジトリに入ってるパッケージのバージョンがやたらと古いCentOSでは、最新版を入れるためにビルドしまくるだろうから、これ入れておくとちゃんとパッケージ管理ができてよい。
うーん。素晴らしい。