はい、そうです。私は実際にテスト目的でRPMDBを壊したかったです。インターネットを検索しようとしましたが、取得したのは再構築する方法だけでした。
だからついに私は試しました。
rpm --rebuilddb
実行プロセスを終了しました。
それから確認しました。
usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages
echo $?
0
出力は1にする必要があります。これはRPMDBが破損していることを意味します。
答え1
私は意図的に私のrpmデータベースを壊したか、少なくともrpmエラーを引き起こしました。これが私が達成したかったのです。 __db.00*ファイルを0にします。
# ls -l /var/lib/rpm/__db.00*
-rw-r--r-- 1 root root 0 Jan 15 17:13 /var/lib/rpm/__db.001
-rw-r--r-- 1 root root 0 Jan 15 17:13 /var/lib/rpm/__db.002
-rw-r--r-- 1 root root 0 Jan 15 17:13 /var/lib/rpm/__db.003
# rpm -q filesystem
error: db5 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db5 - Resource temporarily unavailable (11)
error: cannot open Packages database in /var/lib/rpm
error: db5 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages database in /var/lib/rpm
package filesystem is not installed