FreeBSDのパッケージ管理をpkgngに移行
FreeBSDのパッケージは、基本的にはソースからビルドします。でも、やっぱり、コンパイル済みのバイナリをダウンロードできた方が便利ですし、最新版を使いたいです。
- FreeBSDのパッケージ管理が面倒: プラスα空間 (2013年12月24日)
FreeBSDには、新しいパッケージ管理ステムが開発されています。といっても、今まで通り、portsコレクションのソースをビルドする事もできます。
新しいパッケージ管理システム(pkgng)の使い方は、次のウェブサイトで解説されています。
ですが、何度やっても、次のエラーが出ていたのです。
# pkg update Updating repository catalogue pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http:// digests.txz 100% 1069KB 1.0MB/s 738.9KB/s 00:01 pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http:// packagesite.txz 100% 4948KB 989.5KB/s 1.0MB/s 00:05 Incremental update completed, 22859 packages processed: 0 packages updated, 0 removed and 22859 added. pkg: Unable to find catalogs
“pkg: Unable to find catalogs"と言うエラーメッセージが出て、その先へ進めませんでした。
次のページの解説が、かなり良い線を行っていたのですが、ダメでした。
ダメ元で、twitterで検索したら、次の物を発見しました。ありがとうございます。あなたの一言が、あきらめかけていた背中を押してくれました。
"unable to find catalogs" はpkgngのバグとな RT @mwlauthor New #freebsd pkg set has a bug, you can't pkg upgrade right now – http://t.co/jwqmpByvoW
— nobwak (@nobwak) 2014, 1月 10
pkgのバグ? バグ修正版のはずだし、何度もビルドしているし…。
あきらめずに、もう一度トライしてみました。やった事を、そのまま貼付けます。
# portsnap fetch extract update
# cd /usr/ports/ports-mgmt/pkg
# make deinstall
# make install clean
# cd /var/db
# mv pkg pkg.bad3
# mkdir pkg
# pkg2ng
Converting packages from /var/db/pkg
# ls -l pkg
total 81
-rw-r--r-- 1 root wheel 81920 Jan 18 12:19 local.sqlite
# pkg audit -F
vuln.xml.bz2 100% 426KB 426.1KB/s 426.1KB/s 00:01
0 problem(s) in the installed packages found.
# pkg -vv
Version : 1.2.5
PACKAGESITE :
PKG_DBDIR : /var/db/pkg
PKG_CACHEDIR : /var/cache/pkg
PORTSDIR : /usr/ports
PUBKEY :
HANDLE_RC_SCRIPTS : no
ASSUME_ALWAYS_YES : no
REPOS_DIR : [
/etc/pkg/,
/usr/local/etc/pkg/repos/,
]
PLIST_KEYWORDS_DIR :
SYSLOG : yes
AUTODEPS : yes
ABI : freebsd:9:x86:64
DEVELOPER_MODE : no
PORTAUDIT_SITE : http://portaudit.FreeBSD.org/auditfile.tbz
VULNXML_SITE : http://www.vuxml.org/freebsd/vuln.xml.bz2
MIRROR_TYPE : SRV
FETCH_RETRY : 3
PKG_PLUGINS_DIR : /usr/local/lib/pkg/
PKG_ENABLE_PLUGINS : yes
PLUGINS : [
]
DEBUG_SCRIPTS : no
PLUGINS_CONF_DIR : /usr/local/etc/pkg/
PERMISSIVE : no
REPO_AUTOUPDATE : yes
NAMESERVER :
EVENT_PIPE :
FETCH_TIMEOUT : 30
UNSET_TIMESTAMP : no
SSH_RESTRICT_DIR :
PKG_SSH_ARGS :
PKG_ENV : {
}
DISABLE_MTREE : no
DEBUG_LEVEL : 0
ALIAS : {
}
Repositories:
FreeBSD: {
url : "http://pkg.FreeBSD.org/freebsd:9:x86:64/latest",
enabled : yes,
mirror_type : "SRV"
}
# cat /etc/make.conf
WITH_PKGNG= yes
# pkg update -f
Updating repository catalogue
pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
digests.txz 100% 1067KB 533.5KB/s 1.0MB/s 00:02
pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
packagesite.txz 100% 4946KB 706.6KB/s 1.5MB/s 00:07
Incremental update completed, 22859 packages processed:
0 packages updated, 0 removed and 22859 added.
エラーが出なくなりました。そして、パッケージのインストールもうまく行きました。
はぁ〜、長かった。
途中、/var/db/pkgを消して、再度作り直しています。これが効いているのかもしれません。ディレクトリ名が、pkg.bad3となっている様に、数回作り直しています。
メッセージで、URLを"pkg+http://"に直せと書かれていますので、ここだけ修正しました。
# cat /usr/local/etc/pkg/repos/FreeBSD.conf
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: yes
}
結局、環境を奇麗にして、ビルドし直したら直ったと言う事です。










ディスカッション
コメント一覧
まだ、コメントがありません