FreeBSD Daily Topics

2011年3月25日 新しいPBIパッケージ管理システム,FreeBSDとPC-BSD両対応

この記事を読むのに必要な時間:およそ 1 分

2011年3月19日と20日,東京理科大学森戸記念館においてAsiaBSDCon 2011が開催されました。東北地方太平洋沖地震の影響で講演者が来日できないなど,日程や実施方法を大幅に変更しての実施となりました。AsiaBSDCon 2011からいくつかのセッションを紹介します。

PBI Package Management - Re-implemented for FreeBSD and PC-BSD

Kris Moore氏からPC-BSD 9での採用が予定されている新しいPBIパッケージ管理システムの発表がありました。PC-BSDはFreeBSDをベースに開発されているワークステーション向けのディストリビューションです。UbuntuやFedoraと同じ位置づけのディストリビューションとなります。

PC-BSDはもともとKDE/Qt技術を活用してグラフィカルインストーラ,ワークステーション環境の簡単セットアップ,PBIによるアプリケーションの簡単インストール&アップグレードなどを特徴としたディストリビューションでした。PC-BSDのバージョン番号はFreeBSDのバージョン番号に対応しており,PC-BSD 9.0はFreeBSD 9.0をベースにしたもの,といった関係になります。

もともとQtに依存した設計と実装になっていましたが,この5年間の間に徐々にツールキットニュートラルな構造へ置き換えが進み,現在では多くの機能がコマンドやバックエンドシステムとして分離し,ウィンドウ環境やツールキットを自由に組み合わせられるようになりました。PC-BSDのコマンドのいくつかはFreeBSDのベースシステムにマージされたほか,Ports Collectionからもインストール可能です。FreeBSDプロジェクトと近いポジションにあり,FreeBSDベースのワークステーションディストリビューションとしてはデファクトの位置になりつつあります。

PC-BSDの特徴の1つにPBIと呼ばれるパッケージ管理システムがあります。これはアプリケーションおよびそれに依存するライブラリを単一のパッケージとしてまとめ独立性を高めたものです。Ports Collectionからほぼ自動的に生成されるため,FreeBSDのPorts CollectionおよびPackagesの関係と同じように,Ports CollectionおよびPBIといったような関係といえます。環境やほかのライブラリへの依存が少ないため,ほかのディストリビューションが採用しているパッケージ管理システムと比較してアップグレードやダウングレードが簡単に実施できるという特徴があります。

反面,従来のPBIにはパッケージのサイズが大きい,システムに重複するライブラリがインストールされることになるといった課題もありました。Kris Moore氏が発表した新しいPBIはこれら課題点を改善するものです。具体的には次のような方策で課題点をクリアしています。

  • PBIからインストールされるライブラリはシステムに単一になる。⁠ライブラリ名:::ハッシュ値」といった名前のファイルとして作成し,このファイルへのハードリンクという仕組みを採用。このため,すでに同ライブラリがインストールされている場合には既存のライブラリが使われ,ない場合には新規作成,どのアプリも利用しない場合にはシステムから削除されるという仕組みが実現されることになる。
  • パッケージのダウンロードが軽量になるようにバイナリ差分のダウンロードへ変更。bsdiff(1)およびbspatch(1)を使ったバイナリ差分を使用している。パッケージのバイナリ差分は小さいことが多いので,この仕組みを採用することでダウンロードに必要となるデータ量を抑えることができる。

それ以外に新しいPBIには認証機能なども取り込まれています。これまではKDE/Qtに依存した管理ツールが必要でしたが,pkg_*系コマンドに類似したpbi_*系コマンドが開発されており,GUI環境がなくても利用できるようになったほか,FreeBSDからも利用できるようになっています。

Kris Moore氏は来日できなくなったため,急遽ビデオ会議の形式で発表が実施されました。

コメント

コメントの記入