質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

yum でエラー: Providename インデックスを db5 で開けません - 無効な引数です (22)

受付中

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 3,834

score 37


centos7 で 突然 yum でエラーが発生して yum コマンド利用できなくなりました。
ネットで調べて以下の4コマンド対応を試しましたが同じエラーが続きます。

 yum clean all
 rm -f /var/lib/rpm/__db.*
 ll /var/lib/rpm/
 rpm --rebuilddb

google 先生に聞きましても解決できそうになくなりましてこちらで質問させていただきました。

[root@localhost ~]# yum install bind
エラー: rpmdb: BDB0004 fop_read_meta: /var/lib/rpm/Providename: unexpected file type or format
エラー: Providename インデックスを db5 で開けません - 無効な引数です (22)
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
有効なリポジトリーがありません。
 「yum repolist all」を実行し、所持するリポジトリーを参照してください。
 「yum-config-manager --enable <repo>」でリポジトリーを有効にできます。
[root@localhost ~]# 

同じような現象で解決されました方、対応方法ご存知の方、どうかアドバイスいただけませんでしょうか。
どうぞよろしくお願い致します。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

0

回答ありがとうございます。
早速試してみましたが解決できませんでした。

実行結果をアップします。
何か追加アドバイスいただけると幸いです。
どうぞよろしくお願い致します

[root@localhost ~]# rm -rf /var/lib/rpm/__* 
[root@localhost ~]# rpm --rebuilddb -v -v
D: rebuilding database /var/lib/rpm into /var/lib/rpmrebuilddb.6429
D: opening  db environment /var/lib/rpm private:0x401
D: opening  db index       /var/lib/rpm/Packages 0x400 mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: opening  db environment /var/lib/rpmrebuilddb.6429 private:0x401
D: opening  db index       /var/lib/rpmrebuilddb.6429/Packages (none) mode=0x42
D: opening  db index       /var/lib/rpmrebuilddb.6429/Packages 0x1 mode=0x42
D: disabling fsync on database
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm
D: closed   db index       /var/lib/rpmrebuilddb.6429/Packages
D: closed   db environment /var/lib/rpmrebuilddb.6429
[root@localhost ~]# yum info bind
エラー: rpmdb: BDB0004 fop_read_meta: /var/lib/rpm/Providename: unexpected file type or format
エラー: Providename インデックスを db5 で開けません - 無効な引数です (22)
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: db5 エラー (-30986) (dbcursor->c_get において): BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: エラー(-30986) "vmlinuz-3.10.0-229.el7.x86_64" レコードの Basenames インデックスから取得中: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
エラー: 表示するパッケージはありません
[root@localhost ~]# 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

/var/lib/rpm/Providename が壊れてしまったようです。
/var/lib/rpm/ 以下のバックアップをとった後、以下を試してみてください。

# cd /var/lib/rpm/
# /usr/lib/rpm/rpmdb_verify Providename ; echo $?
  (おそらく、0 以外が返ると思います)

# mv Providename Providename.orig
# /usr/lib/rpm/rpmdb_dump Providename.orig | /usr/lib/rpm/rpmdb_load Providename

# /usr/lib/rpm/rpmdb_verify Providename ; echo $?
BDB5105 Verification of Providename succeeded.
0  (0 が返ることを確認) 

# rpm -qa 
  (RPM 一覧が表示されることを確認)

# rpm --rebuilddb

(参考:古いですが) 
http://people.redhat.com/berrange/notes/rpmrecovery.html

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/24 14:31

    ご回答ありがとうございました。
    試してみました。
    5行目の 0 (0 が返ることを確認)  が確認できま視線でした。

    # /usr/lib/rpm/rpmdb_verify Providename ; echo $?
    BDB5105 Verification of Providename succeeded.
    0 (0 が返ることを確認)

    コマンド結果を添付いたしました。
    ;
    [root@localhost ~]# cd /var/lib/rpm/
    [root@localhost rpm]# /usr/lib/rpm/rpmdb_verify Providename ; echo $?
    rpmdb_verify: BDB0004 fop_read_meta: Providename: unexpected file type or format
    rpmdb_verify: BDB0521 Page 0: Incomplete metadata page
    rpmdb_verify: Providename: BDB0090 DB_VERIFY_BAD: Database verification failed
    BDB5105 Verification of Providename failed.
    1
    [root@localhost rpm]# mv Providename Providename.orig
    [root@localhost rpm]# /usr/lib/rpm/rpmdb_dump Providename.orig | /usr/lib/rpm/rpmdb_load Providename
    rpmdb_dump: BDB0004 fop_read_meta: Providename.orig: unexpected file type or format
    rpmdb_dump: BDB5115 open: Providename.orig: Invalid argument
    [root@localhost rpm]# /usr/lib/rpm/rpmdb_verify Providename ; echo $?
    rpmdb_verify: Providename: No such file or directory
    BDB5105 Verification of Providename failed.
    1
    [root@localhost rpm]#
    ;

    キャンセル

  • 2015/08/24 17:01

    rpmdb_dump でもエラーとなるのであれば、復旧は難しいと思います。

    現在、この CentOS 7 にインストールされている(であろう) RPM 一覧("rpm -qa" や "yum list")と、同じ RPM 構成の他の CentOS 7 があれば、/var/lib/rpm/ ディレクトリまるごとコピーすればいいと思います。
    もし、コピーした DB とインストールされている(であろう) RPM 一覧に差があれば、以下の手順で一致させることができるかもしれません。

    (DB にあって、実際はインストールされていない RPM を DB から消す)
    # rpm -e --test --noscripts --notriggers --nodeps --justdb (RPM名) //テスト
    # rpm -e --noscripts --notriggers --nodeps --justdb (RPM名) //実行

    (DB に無くて、実際はインストールされている RPM を DB に登録する)
    # yumdownloader (RPM名) //RPMファイルをダウンロード
    # rpm -Uvh --test --noscripts --notriggers --nodeps --justdb (RPMファイル) //テスト
    # rpm -Uvh --noscripts --notriggers --nodeps --justdb (RPMファイル) //実行

    ただし、実際にこのような状況になったことがないので、どこまで復旧できるか、システムに悪影響がないのか、やってみないとわかりません。

    キャンセル

-1

rm -rf /var/lib/rpm/__*

rpm --rebuilddb -v -v

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-1

これはVM環境でしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/12 15:43

    コメントありがとうございます。

    はい、vm環境です。

    vmware esxi5.1の仮想マシンにインストールしたcentos7です。

    キャンセル

  • 2015/08/12 17:29 編集

    rm -rf /var/lib/rpm/__*
    後にyum update
    ではどうでしょうか?
    リポジトリのURLを理研とかに変えるとか。
    ネットワークの確認もしてみて下さい。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る