Hi openSUSE community,
Everything was fine until I try to install the package kernel-devel this morning, I obtained an error that I ignored (unwise!).
Now I obtain these errors:
orsos@linux-pkwf:~> sudo zypper clean -a
[sudo] password for root:
error: rpmdb: __fop_file_setup: Retry limit (100) exceeded
error: cannot open Packages index using db4 - File exists (17)
Target initialization failed:
Rpm Exception
Cannot clean installed packages cache because of an error.
Some of the repositories have not been cleaned up because of an error.
orsos@linux-pkwf:~> rpm -qa
error: rpmdb: __fop_file_setup: Retry limit (100) exceeded
error: cannot open Packages index using db4 - File exists (17)
error: cannot open Packages database in /var/lib/rpm
error: rpmdb: __fop_file_setup: Retry limit (100) exceeded
error: cannot open Packages database in /var/lib/rpm
Yes, as the rpm database does seem rather broken, you’ve probably little to lose by trying that procedure, but I’ve no idea of the likelihood of a successful outcome.
Prior to attempting that it may be worthwhile asking on the rpm mailing list, (see: http://rpm.org/community.html ) where there are likely more knowledgeable people who may offer better or alternate advice.
In the end, I simply reinstalled the system and now everything back on track. For my abilities, less time consuming than rebuilding the RPM db from scratch, or at least I could not find an “easy” fix.
If all this is true, then, it seems that, when the system partition(s) are located within a Btrfs file system which has become full, there is a danger that, the system’s RPM database will be irrecoverably corrupted.
[HR][/HR]Which means that, the RPM database will need to be re-populated from an examination of the installed system files.
Catch 22: the system directories are also located within the Btrfs file system (which was over-full) and therefore, are, possibly, also corrupted.
Therefore, IMHO, the only valid solutions are:
Attempt to initialise a new RPM database from knowledge of the installed system files – the installed RPM package list may, however, be incomplete because, some of the system files located within the Btrfs file system (which was over-full) have been corrupted;
Restore the partitions located within the Btrfs file system from a reliable – confirmed reliable
– system backup; 1. Reinstall the system from scratch.