YUMおよびRPMエラー:rpmdbNextIterator:h#スキップ

YUMおよびRPMエラー:rpmdbNextIterator:h#スキップ

RHEL 5にパッケージをインストール中にこのエラーが発生します。

error: rpmdbNextIterator: skipping h#     150 region trailer: BAD, tag 1713401957 type 1919692085 offset -775433784 count 761427303

「yum clean all」を使用してメタデータをクリーンアップしましたが、まだ同じエラーが発生します。

答え1

インストールされているパッケージに対してrpmデータベースを照会すると、問題のあるパッケージが原因でメタタグが混乱する可能性があります。

rpm --rebuilddb

rpmデータベースパッケージを再構築すると、すべてが正常に戻る必要があります。問題が解決しない場合は、古いメタデータを削除して再構築する必要があります。

mkdir /var/lib/rpm/old
mv /var/lib/rpm/Pubkeys /var/lib/rpm/old/
rpm --rebuilddb

時々私の場合、特定のディレクトリを削除できないため、発生したエラーは発生しませんでした。

$ sudo rpmdb --rebuilddb -v
error: could not delete old database at /var/lib/rpmold.17138

$ sudo rm -rf /var/lib/rpmold.17138

$ sudo rpmdb --rebuilddb -v

$ sudo dnf update --refresh
determining the fastest mirror (2 hosts).. done.
RPM Fusion for Fedora 28 - Free - Updates                                                                                                                        412 kB/s | 369 kB     00:00    
RPM Fusion for Fedora 28 - Nonfree - Updates                                                                                                                      35 kB/s |  84 kB     00:02    
Last metadata expiration check: 0:00:00 ago on Mon 27 Aug 2018 09:08:56 AM +08.
Dependencies resolved.
Nothing to do.
Complete!

上記の出力(-v、verbose引数を使用)は、/var/lib/rpmold.17138システムからディレクトリを削除中に権限の問題があることを示しています。 rpmデータベースを手動で削除して再構築するだけです。

関連情報