2011年5月13日および14日、
- Next generation Package system PKGng
FreeBSDはアプリケーションをインストールする簡単な方法としてPackagesを提供しています。これはPorts Collectionから構築されるアプリケーションパッケージで、
基本的にリリースに対して特定の時点のPorts Collectionから生成されます。簡単な方法ですが、 次の課題があります。 - Packagesは自動ビルドされているものの、
ベストエフォート型であり、 定期的なリリースは実施されていない - バイナリ差分などをダウンロードしてきてアップグレードするといった方法が提供されていない
PKGngはこうした現在のPackagesの課題を解決するための新しいパッケージシステムの取り組みです。次のような特徴があります。
- 新しいパッケージフォーマットを採用し、
より多くのメタデータを保持 - バックエンドにSQLiteを採用
- バイナリアップデートの機能を提供
- フロントエンドはpkg(8)コマンドに集約。収集の作業は引数にサブコマンドとして指定する方式を採用
- ビルドには必ずしもPorts Collectionを必要としない
PKGngでは
「パッケージセット」 と呼ばれる新しい取り組みを導入し、 EoLの限定された短周期でのリリースを実施していくと説明がありました。パッケージセットが提供されるアーキテクチャはTier1アーキテクチャのみとなります。 - ウィークリー・
パッケージセット EoLは2ヵ月 - マンスリー・
パッケージセット EoLは12ヵ月
PKGngはFreeBSD 9-CURRENTまたは10-CURRENTに導入し、
FreeBSD 9. x-RELEASEでの導入を目指すとのことです。これまで配布にはFTPが活用されていましたが、 今後はHTTP経由のみでの配布となります。PBIとの関係は今後の議論とされていました。 PKGngが最終的にどのようなスタイルでパッケージを作成するかに依存していますが、
現在のパッケージ管理システムを見ると、 次のような使い分けが考えられます。 - インストールもアップグレードもすべてPorts Collectionを利用
- インストールもアップグレードもすべてPKGngを利用
- ビッグアプリケーションはPBIでインストール、
それ以外はPorts Collectionを利用
PKGngがPBIのようにパッケージごとに独立した仕組みを採用すれば話は違ってきますが、
現在のPackagesと同じくほかのパッケージに依存するような仕組みを引き続き採用した場合、 単体でのインストールやアップグレードはPBIの方が便利ということになります。 最終的にどうなるにせよ、
パッケージ管理システムの開発が進み、 現状よりも扱いやすくなることはユーザの観点から見て利益があります。特に仮想環境でサーバやデスクトップを動作させる機会が多い今日では、 すべてビルドするPorts Collectionは扱いにくいシーンもあります。パッケージ管理システムを使うことでビルドの負担を避け、 効率の良いシステム構築と運用が可能になります。 - Packagesは自動ビルドされているものの、