FreeBSD Daily Topics
2012年5月21日 次世代パッケージシステムpkgngとJail
pkgng
- pkgng - Modernising FreeBSD package management
FreeBSD Portsチームは次世代のパッケージシステムとしてpkgngの開発を進めています。現在のパッケージ
(Packages) は, Ports Collectionによってビルドされインストールされたソフトウェアをtarballにまとめたものです。必要最小限のメタデータだけを保持しています。シンプルな反面, 現在主流のLinux系パッケージ管理システムと比較て, 機能が貧弱で不完全という問題があります。 pkgngはこれを解決しようという取り組みで,
より多くのメタデータを保持させ, ローカルのバックエンドデータベースにSQLiteを導入, より完全性の高い依存性計算の実現や簡単なインストール・ アップグレード作業を実現することを目指しています。10-CURRENTにはすでにpkgngのコマンドであるpkg(1)が導入されています。たとえば, pkgng経由でインストールされたパッケージを自動的にすべてアップグレードするには次のように作業します。 # pkg update # pkg upgrade -y
最近はJailとの連携機能も導入され,
次のように特定のJail環境を指定して, Jail環境内のパッケージをアップデートするといった作業が簡単に実施できるようになっています。 # pkg -j jailname update # pkg -j jailname upgrade -y
この機能を利用すると,
たとえばメニーコアのホストサーバで多数のJail環境を提供しているようなケース, たとえばホスティングサービスを提供しているようなケースですが, こうった場合でどれかひとつのJail環境でアプリケーションのアップグレードと動作チェックを実施し, 問題がなければほかのJail環境に対して個別にアップグレードを実施するといったような作業を簡単に実施できます。 現在,
2万3,600を超えるソフトウェアがPorts Collectionに登録されていますが, うち, pkgngへの自動変換が可能なものは2万2,100を超えるとされています。だいたい93%ほどがそのままpkgngでも利用できることになります。 今後の作業としては9-STABLEへpkgngのマージ,
Capsicumの適用, サブパッケージの提供, マルチABIパッケージの提供などが挙げられていました。 pkgngの提供が開催されても,
しばらくはPackagesと両方提供されるものと見られます。また, Ports CollectionからインストールすればPBIを使ったパッケージのインストールやアップデートも実施できるようになっています。これでFreeBSDは3つのパッケージ管理システムを持つことになります。どの方式にもそれぞれに特徴があり, 適材適所で使われることになるのではないかと思います。
バックナンバー
FreeBSD Daily Topics
- 2012年5月31日 Linuxバイナリ互換機能にDTrace
- 2012年5月30日 CentOS 6.2に対応したlinux_base-c6登場
- 2012年5月29日 FreeBSD対応1U/2U/3U/4Uラックマウントサーバ発表 - システムワークス
- 2012年5月28日 FreeBSD MCA(Machine Check Architecture)による障害検出
- 2012年5月25日 FreeBSDデベロッパアワード:5名受賞
- 2012年5月24日 BSDオークション:BSDCan一番のみどころ
- 2012年5月23日 FreeBSD DevSummit 201205 カナダ/オタワ
- 2012年5月22日 pkgngとPBI
- 2012年5月21日 次世代パッケージシステムpkgngとJail
- 2012年5月17日 FreeBSD ZFS,DMUの最適化と高速化:3倍~10倍/第8回FreeBSD勉強会,6/8に開催