従来のパッケージ管理システムからpkg(8)へ移行するには、次のようにpkg2ngコマンドを使用します。一度もpkg(8)コマンドを実行したことがない場合には、まず次のようにpkg(8)を実行してプログラムをインストールしてからpkg2ngを実行します。
/var/db/pkg/の下は、Ports Collectionやpkg_*系コマンドでインストールした段階では次のようになっています。従来のメタデータ保持形式でデータが保持されています。
pkg2ngを実行したあとは次のようにpkg(8)用のSQLiteデータベースが作成されます。
pkg2ngを実行して移行したあとはpkg infoなどのコマンドで移行したソフトウェアを確認できるようになります。
移行したあとにはインストールされているパッケージの情報を確認できるようになります。一旦pkg updateを実行してリモートリポジトリを取得した後、pkg statコマンドを実行します。
サブコマンドの名称などは、最後発のパッケージ管理システムだけあってわかりやすい名称に統一されています。
pkg(8)で提供されるパッケージは基本的に週に1回のペースで最新のPorts Collectionに追従していくことになっています。今後は、コンパイル時にオプションを指定する必要があったり、カスタマイズする必要があるものに関してはPorts Collectionを使い、それ以外はpkg(8)を利用するといった使い方が主流になっていくのではないかとみられます。ライトユーザはほぼすべてpkg(8)を使うことになるとみられます。
pkg(8)が特に興味深いのは、これが完全にPorts Collectionをベースとした新しいパッケージ管理システムであるということです。ソースコードからビルドするためさまざまなカスタマイズができ、常に最新版でありつづけるというPorts Collectionの利点を生かしながら、バイナリベースのパッケージ管理システムを実現しています。このレベルで双方の要望を実現しているアプリケーション管理システムはほかには少なく、FreeBSD 10以降を特徴付ける機能になるものと見られます。