heads-up
- PBI on FreeBSD
PC-BSDのパッケージ管理システムであるPBIがFreeBSDに導入されました。Ports Collectionに
「ports-mgmt/ pbi-manager」 として用意されています。PBIはPorts Collectionをベースにして半自動的に生成されるパッケージおよびその管理ツールで、 これまでPC-BSDにおけるパッケージ管理システムとして活用されてきました。Packagesと異なり、 PBIはそのアプリケーションに必要になるライブラリなども含めてパッケージングを実施するため、 ほかのライブラリやソフトウェアへの依存度が低く、 単体でのアップグレードやロールバックが簡単に実施できるという特徴があります。 PBIが有益なパッケージ管理システムであることは開発者の間で認知されていましたが、
従来のPBIは管理ツールがQt/ KDEに依存しており、 コマンドラインからの利用ができませんでした。また重複するライブラリを複数保持することになるためディスク消費量が多いことや、 アップグレード時にバイナリをすべてダウンロードする必要があるなど、 通信帯域の消費が大きいといった問題もありました。 今回FreeBSDに導入されたPBIは、
こうした問題を改善した新しいPBIです。pkg_*系管理ツールとよく似たインターフェースを備えたコマンドラインツールが開発され基盤の管理ツールとして導入されたほか、 ハードリンクやバイナリ差分を活用してディスク消費および通信帯域の消費が抑えられています。FreeBSDにおけるバイナリベースでのアプリケーションインストールおよび管理機能として代表的な位置づけを獲得していくことになると見られます。 PBI Managerをインストールすると次の管理コマンドがインストールされます。
- pbid(8) - 共有ファイルラリのマージや古いライブラリの排除などを実施する管理デーモン
- pbi_
add(1)、 pbi_ addrepo(8)、 pbi_ autobuild(8)、 pbi_ browser(1)、 pbi_ create(1)、 pbi_ delete(1)、 pbi_ deleterepo(8)、 pbi_ icon(1)、 pbi_ indextool(1)、 pbi_ info(1)、 pbi_ listrepo(1)、 pbi_ makepatch(8)、 pbi_ makeport(8)、 pbi_ makerepo(8)、 pbi_ metatool(1)、 pbi_ update(1)、 pbi_ update_ hashdir(1)、 pbi_ patch(1)
pbid(8)デーモンを動作させる必要があります。/etc/
rc. confに次の行を追加します。 システムを再起動するとpbid(8)が自動的に起動するようになります。pbid(8)を手動で起動するには次のようにservice(8)コマンドを実行します。
PBIは次のディレクトリをアプリケーションのインストール場所およびメタデータ(リポジトリ)の保存場所として利用します。
- /usr/
pbi/ - アプリケーションはこのディレクトリに個別にインストールされます - /usr/
pbi/ firefox-amd64/ - (例)PBI経由でインストールされたFirefox - /usr/
pbi/ thunderbird-amd64/ - (例)PBI経由でインストールされたThunderbird - /var/
db/ pbi/ - リポジトリ
PBIに用意されているパッケージはpbi_
browser(1)コマンドで検索できます。今のところ9-CURRENTで利用できるPBIパッケージは導入されたばかりで極少数 (Eric、 Firefox、 KBackup、 Kasablanca、 LibreOffice、 OpenOffice、 Pidgin、 QDevelop、 QGit、 Thunderbird、 Wireshark、 Xarchiver、 grsync、 ntop) です。各OSのバージョンおよびアーキテクチャに対して提供されるPBIパッケージは徐々に増えることになります。インストールしたPBIアプリケーションの情報はpbi_ info(1)コマンドでチェックできます。このあたりの操作はpkg_*系コマンドと同じです。 たとえばFirefoxをインストールする場合、
次のように作業します。インストール前にPorts CollectionまたはPackages経由でインストールしたFirefoxは削除しておいてください。pbi_ browser(1)コマンドで対象を調査するとインストールコマンドが表示されるので、 そのコマンドを入力してインストールを実施します。PBIパッケージをダウンロードしてインストールが実施されます。 ソフトウェアやライブラリはすべて
「/usr/ pbi/アプリ名-アーキテクチャ名/」 にインストールされますが、 /usr/ local/ bin/以下に実行コマンドへのシンボリックリンクが作成されるため、 環境変数PATHにはとくに変更を加えることなく利用できます。インストールしたアプリケーションのアップデートはpbi_ update(1)コマンドで実施します。 基本的にリリースに対してPorts Collectionから生成されるPackagesと異なり、
PBIはパッケージでありながら、 常に最新版を追いやすいという特徴があります。反面、 まだ提供されているアプリケーションの数が少ないので、 次のように使い分けることになります。 - ビルドに時間がかかるビッグアプリケーションはPBIでインストールする
- ビルド時にオプションを指定する必要があるソフトウェアはPorts Collectionからインストールする
- それ以外はPorts Collectionからインストールする
PBIとPorts Collectionをうまく使い分けることで、
手元でビルドすることによるカスタマイズという恩恵を受けながらも、 ビルドにかかる時間を最小限に抑えつつ最新のアプリケーションをキープするといったことが実現しやすくなります。