FreeBSD Daily Topics

2012年9月5日次世代パッケージ管理システム pkg(8)、バージョン1.0正式発表

pkgng

pkg(8) 1.0 released

2年以上の開発期間をかけ、FreeBSDの次世代パッケージ管理システムpkg(8)が初のメジャーバージョン1.0として公開されました。pkg(8)は従来のpkg_*系コマンドに変わる新しいパッケージ管理システムで、yum(8)やapt-get(8)のようなパッケージ管理機能を提供します。

$ uname -opr
FreeBSD 10.0-CURRENT amd64
$ pkg -v
1.0
$

pkg(8)はPorts Collectionとシームレスに連動します。pkg(8)とPorts Collectionを連動させるには、/etc/make.confファイルに次の設定を追加します注意:2012年8月14日 pkg(8)とPorts Collectionを共用する場合のコツで連動が弱いと説明していますが、以前の説明はすでに古いものです。シームレスに連動するようになりました)。

WITH_PKGNG=yes

pkg(8)でほとんどのアプリケーションをインストールし、まだpkg(8)でパッケージが提供されていないものや、パッチを適用したり特定のオプションを指定してビルドする必要があるものについてはPorts Collectionを併用するという方法がスマートな使い方と言えます。

現段階でpkgng(8)に対応しているPorts Collection管理ツールは次のとおりです。

  • ports-mgmt/portupgrade-devel
  • ports-mgmt/pkg_cutleaves
  • ports-mgmt/poudriere-devel
  • ports-mgmt/poudriere
  • ports-mgmt/portdowngrade
  • ports-mgmt/tinderbox-devel
  • ports-mgmt/portbuilder
  • sysutils/bsdstats

ports-mgmt/portmasterはパッチを適用する必要があると説明されています。

yum(8)やapt-get(8)などと比較したpkg(8)/Ports Collectionの特徴は次のものとなります。

  • ディストリビューションのバージョンに固定してマイナーアップグレードがメインになる従来のパッケージ管理システムと比較して、1週間から2週間ごとに常に最新のPorts Collectionをベースとしたパッケージに更新され続ける仕組みになっている
  • Ports Collectionとシームレスに統合されているため、パッケージ管理システムによるインストールと、Ports Collectionによるビルドベースのインストールやアップグレードを併用することができる

Ports Collectionを使ったビルドベースのアプリケーション管理システムとシームレスに併用できるというのが、pkg(8)のとても魅力的なところです。仮想環境や組み込みなどのプラットフォームにおいて迅速にプラットフォームを構築することができ、さらにカスタマイズも容易です。開発者にとっても運用者にとっても価値の高い機能と言えます。

おすすめ記事

記事・ニュース一覧