FreeBSD 9.2 で pkgng へ移行する

今どきの FreeBSD ではサードパーティアプリケーションは pkgng で管理するもののようだ。
というわけで、FreeBSD 9.2 で pkgng への移行作業を行うことにした。

参考:
http://www.freebsd.org/doc/ja/books/handbook/pkgng-intro.html

これまで使ってきた ports のデータベースは変換しないといけないらしい。
ハンドブックにしたがって作業する。

# /usr/sbin/pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
...
# pkg2ng
...
#

そして、/etc/make.conf に

WITH_PKGNG=yes

を追加しておく。

さてこれで pkg upgrade でパッケージの更新ができるはずなのだが、
やってみるとやれ設定ファイルがおかしいだの、リポジトリがないだのいわれて
一向に動かない。

pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file


pkg No valid repository found.

追加の設定が必要だった。pkg のバージョンが新しくてハンドブックが追いついていない模様。

  • /usr/pkg/local/etc/pkg.conf は削除
  • ディレクトリ /usr/local/etc/pkg/repos を作成
  • 設定ファイル /usr/local/etc/pkg/repos/FreeBSD.conf を作成

# rm /usr/local/etc/pkg.conf
# mkdir -p /usr/local/etc/pkg/repos
# vi /usr/local/etc/pkg/repos/FreeBSD.conf

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  enabled: true
}

参考: http://april.fool.jp/blogs/2013/12/pkgng-1-2%E3%81%B8%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%81%AB%E4%BC%B4%E3%81%86%E3%81%82%E3%82%8C%E3%81%93%E3%82%8C%E3%80%82/

オフィシャルにはどこに情報出てるんですかね?
pkg help ではわからなかったんですが。

# pkg update

インストールされてる perl が 5.12 と古くて自動で更新できなかった。

たとえば以下のような関連付けを行うと更新できる。

# pkg set -o lang/perl5.12:lang/perl5.16
# pkg upgrade

FreeBSD 9.2 で pkgng へ移行する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です