> On Feb 23, 2017, at 3:36 PM, Jakub Bogusz <qbo...@pld-linux.org> wrote: > > On Thu, Feb 23, 2017 at 01:43:14PM -0500, Jeffrey Johnson wrote: >> This one is left though: >> >>> error: db3: header #187105280 cannot be loaded -- skipping. >>> error: db3: header #4127850496 cannot be loaded -- skipping. >> >> How to check what these "headers" mean? >> (old, unsupported keys? some old packages with missing fields which are >> now required?) >> The error message is printed on a headerCopyLoad() failure. >> >> The failure is usually an indication of header damage of some sort, not >> missing fields now required. >> >> The numbers are primary keys into Packages printed in in decimal. >> >> The values appear to be in the wrong-endian order when converted to hex >> 0xB270000 >> 0xF60A0000 >> >> You can try finding the header by doing, say, rpm -q ???querybynumber >> 0xB270000 >> (or its reverse: its unclear what order). > > Same result for bigger values, no result after swapping bytes: > > -bash-4.4# rpm -q --querybynumber 0xF60A0000 > error: rpmdb: header #4127850496 cannot be loaded -- skipping. > -bash-4.4# rpm -q --querybynumber 0x00000AF6 > -bash-4.4# rpm -q --querybynumber 0xB270000 > error: rpmdb: header #187105280 cannot be loaded -- skipping. > -bash-4.4# rpm -q --querybynumber 0x0000270B > -bash-4.4# >
So at least simply reproducible with —querybynumber ;-) If you just need a fix, db_dump will give you {KEY, VALUE} pairs in hex. Find the 2 {KEY,VALUES} and delete the 2 occurrences of 2 lines of hex in a text editor. Feed the result to db_load to recreate Packages. rpm —rebuild will recreate the indices. If you want me to take a look, tar up /var/lib/rpm/{DB_CONFIG,Packages} and give me a URL. hth 73 de Jeff _______________________________________________ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en