2007年04月26日 07時09分26秒
データベースの不整合で portupgrade が正しく機能しなくなるときがある。
marryrush# portversion -c
Stale dependency: zoo-2.10.1_2 <-- clamav-0.88_1 -- manually run 'pkgdb -F' to fix, or specify -O to force.
marryrush#
marryrush# pkgdb -F
---> Checking the package registry database
marryrush#
依存関係に不正部分があるので pkgdb -F で修正しろと言われるのだが、いざ pkgdb -F を実行すると問題が見つからないと出る。
上記の様な場合、/var/db/pkg/*/* のファイルに問題が隠れている場合がある。
marryrush# grep clamav /var/db/pkg/*/*
/var/db/pkg/arc-5.21o_1/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/arj-3.10.22/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/clamav-0.88.7_1/+CONTENTS:@name clamav-0.88.7_1
:
:
/var/db/pkg/clamav-0.88.7_1/+INSTALL: echo "* and remove $PREFIX/etc/clamav.conf *"
/var/db/pkg/curl-7.16.0/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/lha-1.14i_6/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/libgmp-4.2.1_1/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/libunrar-3.6.8,1/+DESC: This package containe small fixes from the http://mcmcc.bat.ru/clamav/.
/var/db/pkg/libunrar-3.6.8,1/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/openldap-sasl-client-2.3.31/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/unzip-5.52_2/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/unzoo-4.4_2/+REQUIRED_BY:clamav-0.88.7_1
/var/db/pkg/zoo-2.10.1_2/+REQUIRED_BY:clamav-0.88_1 ←!リビジョンがおかしい
marryrush#
この例であれば、 zoo-2.10.1_2 を一度消して再導入することで問題が解決する。
marryrush# pkg_delete zoo-2.10.1_2
marryrush# portversion -c
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 139 packages found (-1 +0) (...) done]
#
# apache
# needs updating (port has 2.2.3)
#
pkgs="$pkgs apache-2.2.0_7"
:
:
if [ X"$pkgs" != X"" ]; then
portupgrade "$@" $pkgs
fi
marryrush#
portversion コマンドが動作したので(多分)不整合は解決された。
marryrush# portinstall zoo
---> Installing 'zoo-2.10.1_2' from a port (archivers/zoo)
---> Building '/usr/ports/archivers/zoo'
===> Cleaning for zoo-2.10.1_2
===> Vulnerability check disabled, database not found
===> Extracting for zoo-2.10.1_2
=> MD5 Checksum OK for zoo-2.10pl1.tar.gz.
=> SHA256 Checksum OK for zoo-2.10pl1.tar.gz.
===> Patching for zoo-2.10.1_2
===> Applying FreeBSD patches for zoo-2.10.1_2
===> Configuring for zoo-2.10.1_2
===> Building for zoo-2.10.1_2
:
:
===> Checking if archivers/zoo already installed
install -s -o root -g wheel -m 555 zoo fiz /usr/local/bin
install -o root -g wheel -m 444 zoo.1 fiz.1 /usr/local/man/man1
===> Compressing manual pages for zoo-2.10.1_2
===> Registering installation for zoo-2.10.1_2
===> Cleaning for zoo-2.10.1_2
marryrush#
zooの再インストールも無事終わる。
コメント