今どきの 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 }
オフィシャルにはどこに情報出てるんですかね?
pkg help ではわからなかったんですが。
# pkg update
インストールされてる perl が 5.12 と古くて自動で更新できなかった。
たとえば以下のような関連付けを行うと更新できる。
# pkg set -o lang/perl5.12:lang/perl5.16 # pkg upgrade
そういうことだったんですね。
http://www.freebsd.org/doc/ja/books/handbook/pkgng-intro.html
ここを見ながらやったら何もインストールできずに困っていたので助かりました。