FreeBSD Daily Topics
2011年3月25日 新しいPBIパッケージ管理システム,FreeBSDとPC-BSD両対応
2011年3月19日と20日,
- 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氏は来日できなくなったため,
急遽ビデオ会議の形式で発表が実施されました。 - PBIからインストールされるライブラリはシステムに単一になる。
FreeBSD, AsiaBSDCon, PBI, パッケージ, PC-BSD
バックナンバー
FreeBSD Daily Topics
- 2011年3月31日 VirtualBoxおよびKVM/QEMU向けVirtIOネットワークデバイスドライバ
- 2011年3月30日 高精度タイムプロトコル(IEEE-1588)デーモンPTPd
- 2011年3月29日 FreeBSDスクリプト言語としてのLua
- 2011年3月28日 ZFSを使ったシステム管理
- 2011年3月25日 新しいPBIパッケージ管理システム,FreeBSDとPC-BSD両対応
- 2011年3月22日 NetBSD向けFlash/NANDサブシステムの設計と実装
- 2011年3月18日 AsiaBSDCon 2011タイムスケジュール - 参加者要チェック
- 2011年3月17日 AsiaBSDCon 2011スケジュール変更 - 2011年3月16日19時現在版
- 2011年3月15日 Ground Labs,FreeBSDのネイティブサポートを発表(AsiaBSDCon 2011スケジュール変更に注意)
- 2011年3月9日 FreeBSDシステム管理の基礎の説明チュートリアル