Read it later.

Web製作に関するサーバ構成やコーディングネタの備忘録として使ってます。

*

[CentOS]yumが失敗する(db3 エラー) – Thread died in Berkeley DB library

      2015/11/13

yumが実行できなくなった!

yumコマンドがうまく動かない環境に遭遇した。

# yum install nkf
rpmdb: Thread/process 7275/139767617566464 failed: Thread died in Berkeley DB library
エラー: db3 エラー (-30974) (dbenv->failchk において): DB_RUNRECOVERY: Fatal error, run database recovery
エラー: Packages インデックスを db3 でオープンできません -  (-30974)
エラー: /var/lib/rpm にある Package データベースをオープンできません。
CRITICAL:yum.main:

Error: rpmdb open failed

# yum clean all
rpmdb: Thread/process 7275/139767617566464 failed: Thread died in Berkeley DB library
エラー: db3 エラー (-30974) (dbenv->failchk において): DB_RUNRECOVERY: Fatal error, run database recovery
エラー: Packages インデックスを db3 でオープンできません -  (-30974)
エラー: /var/lib/rpm にある Package データベースをオープンできません。
CRITICAL:yum.main:

Error: rpmdb open failed

解決策ありました。

yumがおかしい。 – 低スペックプログラマ日記

どうやら、rpmのデータベースを再構築すればいいらしい。

# cd /var/lib/rpm; ls -l
合計 46812
-rw-r--r--. 1 root root  2867200  8月  3 21:36 2015 Basenames
-rw-r--r--. 1 root root    12288  8月  3 21:11 2015 Conflictname
-rw-r--r--. 1 root root  1429504  8月  3 21:36 2015 Dirnames
-rw-r--r--. 1 root root  5308416  8月  3 21:36 2015 Filedigests
-rw-r--r--. 1 root root    16384  8月  3 21:36 2015 Group
-rw-r--r--. 1 root root    12288  8月  3 21:36 2015 Installtid
-rw-r--r--. 1 root root    24576  8月  3 21:36 2015 Name
-rw-r--r--. 1 root root    12288  8月  3 21:11 2015 Obsoletename
-rw-r--r--. 1 root root 35581952  8月  3 21:36 2015 Packages
-rw-r--r--. 1 root root  1339392  8月  3 21:36 2015 Providename
-rw-r--r--. 1 root root   569344  8月  3 21:36 2015 Provideversion
-rw-r--r--. 1 root root    12288  8月  3 21:10 2015 Pubkeys
-rw-r--r--. 1 root root   212992  8月  3 21:36 2015 Requirename
-rw-r--r--. 1 root root   143360  8月  3 21:36 2015 Requireversion
-rw-r--r--. 1 root root    86016  8月  3 21:36 2015 Sha1header
-rw-r--r--. 1 root root    49152  8月  3 21:36 2015 Sigmd5
-rw-r--r--. 1 root root    12288  8月  3 21:11 2015 Triggername
-rw-r--r--  1 root root    24576 11月 13 14:46 2015 __db.001
-rw-r--r--  1 root root   229376 11月 13 14:46 2015 __db.002
-rw-r--r--  1 root root  1318912 11月 13 14:46 2015 __db.003
-rw-r--r--  1 root root   753664 10月 20 17:22 2015 __db.004

これの「__db.*」シリーズのファイルを避ける。

# mv /var/lib/rpm/__db* /tmp

rpmのデータベースの再構築を行えば完了。

# rpm --rebuilddb

あとは、yumの実行確認

# yum list

あとから振り返って

# rpm --rebuilddb

↑rpmのデータベースを再構築をしたら、「__db.*」シリーズのファイルが削除されてた。
手動でmvしなくても良いかもしれない。

 - CentOS

  関連記事

centos
CentOS系コマンド覚書

※自分がよく使うもので忘れやすいものを書いてるだけなので、これといってすごいもの …

centos
ログイン履歴の確認

ログイン履歴の照会をするには、「last」コマンドを用いる。 ログイン日時の降順 …

.htaccess
.htaccessで、IPによるアクセス制限をかけたら、「Apache 2 Test Page」が表示される。

IPによるアクセス制限をかけたら、 「Apache 2 Test Page po …

centos
シンボリックリンクの作成

やっと、本日勘違いしていたことに気づきました(汗 思い込みはあかんねー。 ※[シ …

centos
ext2でのサブディレクトリの配置上限数

やってきたメールをローカルに、サブディレクトリを作成して保存していたら、どう考え …

centos
開いているポートを調べる(nmap)

開いているポートを調べる(nmap) 外部公開しているポートを調べる方法はいくつ …

centos
リッスン状態にあるポートについて調査する。

下記は、出力結果のサンプル。

centos
qmailの設定ファイル

qmailをつい最近インストールしたのだけど、 下記の5つの設定ファイルが、最低 …

centos
GeoIPのインストール

IPアドレスから国や都市を取得するためのライブラリが、MaxMind社のGeoI …

centos
[Linux]複数ファイルの文字コードを一括で調べる – nkf

開発をしていると、たまに文字コードが異なる状態で保存されたりする。 UTF-8の …