FreeBSD Daily Topics

2011年5月24日 次世代パッケージシステムPKGng

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

2011年5月13日および14日,カナダのオタワにて*BSD国際会議「BSDCan 2011」が開催されました。11日および12日にはチュートリアルが開催されたほか,FreeBSD DevSummitも開催されています。4日間の中から,とくに興味深い話題をピックアップして紹介します。

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は扱いにくいシーンもあります。パッケージ管理システムを使うことでビルドの負担を避け,効率の良いシステム構築と運用が可能になります。

コメント

コメントの記入