FreeBSD Daily Topics

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

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

おすすめ記事

記事・ニュース一覧