すると portsdb のエラーが発生しました。
HASH: Out of overflow pages. Increase page size
/usr/ports/INDEX-10:20155:dbm_store failed
原因
以前にも同じような症状が発生していました。原因は portsdb の問題です。対策
portsdb の再構築を行いました。現状の portsdb の様子を確認しました。何と! INDEX-6 からのものが存在していました(笑)。
# cd /usr/ports
# ls | grep INDEX
.portsnap.INDEX
INDEX-10
INDEX-10.db
INDEX-6
INDEX-7
INDEX-8
INDEX-8.db
INDEX-9
INDEX-9.db
現状の portsdb を過去のものを含めて削除しました。
# rm -rf INDEX*
portsdb の再構築を行いました。再構築には結構な時間がかかりました。
# make index
Generating INDEX-10 - please wait..--- describe.accessibility ---
--- describe.arabic ---
--- describe.archivers ---
# portsdb -uU
Updating the ports index ... Generating INDEX20160528-41516-6hhlqn - please wait..--- describe.accessibility ---
--- describe.arabic ---
--- describe.archivers ---
出来上がった portsdb を確認しました。
# ls | grep INDEX
.portsnap.INDEX
INDEX-10
INDEX-10.db
以上で portsdb のエラーが発生しなくなりました。
[追記 : 2016-05-29]
再び同じエラーが発生しました。再度ネット上を検索してみたところ、ruby-bdb に問題があると同様のエラーが発生することがあるようです。そこで ruby-bdb のインストール状況を確認してみました。すると ruby 本体がバージョン 2.2 (標準)と 2.1 の二つがインストールされていました。さらに ruby-bdb も 2.1 のものがインストールされていました。
# pkg info | grep ruby
ruby-2.2.5,1 Object-oriented interpreted scripting language
ruby21-2.1.9,1 Object-oriented interpreted scripting language
ruby21-bdb-0.6.6_4 Ruby interface to Oracle Berkeley DB
そこでこの古いバージョン(2.1)と標準バージョン(2.2)を含めて削除した後、再度インストールし直すこととしました。我が家では portupgrade の依存関係で ruby がインストールされているため、思い切った処置をしました。
# pkg delete ruby-2.2.5,1 ruby21-2.1.9,1 ruby21-bdb-0.6.6_4 portupgrade-2.4.14,2
次に再度 portupgrade をインストールして、依存関係で ruby 類の自動インストールを行いました。
# portmaster ports-mgmt/portupgrade
===>>> The following actions will be taken if you choose to proceed:
Install ports-mgmt/portupgrade
Install databases/ruby-bdb
Install lang/ruby22
===>>> Proceed? y/n [y]
portupgrade のインストールが終わったところで、再度 ports ツリーのダウンロードを行いました。そして
# portsdb -FU
インストール済みパッケージの中でアップデートが到着していないか確認してみました。エラーが発生するときには、ここで発生します。
# portversion -vL=
今度は、本当にエラーが発生していないようです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。