RHEL 5にパッケージをインストールしているときに、このエラーが発生します
error: rpmdbNextIterator: skipping h# 150 region trailer: BAD, tag 1713401957 type 1919692085 offset -775433784 count 761427303
「yumcleanall」を使用してメタデータをクリーンアップしますが、それでも同じエラーです
インストールされたパッケージを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、詳細引数を使用)は、システムから/var/lib/rpmold.17138
ディレクトリを削除するためのアクセス許可の問題があることを示しています。手動で削除し、rpmデータベースを再構築するだけで機能しました。