FreeBSD Daily Topics

2011年12月21日次世代パッケージ管理システムpkgngの特徴と使用例の紹介

ports

Main features of pkgng and it's usage

次世代パッケージ管理システム「pkgng」は次のような特徴があります。現在のPackagesとは根本的に異なるものと考えておいたほうが良いでしょう。

  • バックエンドにSQLiteを採用(高速処理、高い可用性、データ完全性の実現ほか)
  • 新しいパッケージフォーマットの採用(YAMLベースのフォーマット、スクリプトなども内包)
  • 新しいリポジトリフォーマットの採用
  • 新しいフロントエンド「pkg」の導入
  • すべての機能を提供する「libpkg」の導入
  • jail(8)およびchroot(8)をネイティブサポート

pkgngではより進んだ管理を実現するためのパッケージフォーマットがより多くの情報を持ったものへ置き換わります。Ports Collectionに登録されているソフトウェアのうちすでに95%がこの新しいパッケージフォーマットへ自動生成が可能です(bsd.pkgng.mkがその処理を担います⁠⁠。また、当初からjail(8)やchroot(8)で分離された環境に対する管理コマンドとしても考慮されているあたりはFreeBSDならではと言えます。

操作はすべてpkgと呼ばれるコマンドを使って実施します。操作の種類は第1引数でサブコマンドとして指定します。たとえば次のように操作します。

  • pkg update リポジトリのアップデート
  • pkg upgrade インストールされているアプリのアップグレード
  • pkg autoremove 不要なソフトウェアの自動削除
  • pkg search apps_name アプリケーションを検索
  • pkg info アプリケーションの情報を表示
  • Packagesからpkg_addで追加されたアプリケーションは「pkg2ng」と呼ばれるツールを使うことでpkgngデータベースへ登録することができます。Ports Collectionからインストールする場合も「bsd.pkgng.mk」を通して作業すれば自動的にpkgngとして処理されます。

    開発段階にあるpkgngはGitHubのpkgng/pkgngから取得可能です。pkgngを試用する簡単な方法はなく、VirtualBoxなどの仮想環境状にFreeBSDゲストを用意してそこで展開して使ってみるというのがわかりやすい方法となります。

おすすめ記事

記事・ニュース一覧