RPM DB wiederherstellen // Paket läßt sich nicht installieren

Sollte aus was für Gründen auch immer die RPM Datenbank einmal defekt sein, d.h. man erhält bei rpm -qa Fehler der folgenden Art, dann kann man die Fehler durch die gezeigten Schritte beheben.

rpm -qa

error: rpmdbNextIterator: skipping h#     534 blob size(143828): BAD, 8 + 16 * il(69) + dl(3184)

Es könnte auch sein, dass sich ein RPM Paket nicht installieren läßt, d.h. bei einer verbose Installation sieht man, wo es hängt:

rpm -Uvh -v meinprogramm-0.1-1.i386.rpm

D: ============== meinprogramm-0.1-1.i386.rpm
D: Expected size:      2343485 = lead(96)+sigs(180)+pad(4)+data(2343205)
D:   Actual size:      2343485
D: meinprogramm-0.1-1.i386.rpm: MD5 digest: OK (420083eed5a06072b9f2c7ab0462f8d6)
D: opening  db environment /var/lib/rpm/Packages joinenv
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
         ^----- hier geht es nicht weiter! ----^

RPMs vom Original holen

RPMDB rebuild

alles sichern

  • cd /var/lib
  • tar czvf /tmp/rpmdb.tar.gz rpm

Stale locks löschen

  • rm -f /var/lib/rpm/__db*

Rebuild der Indexdateien

Beim Rebuild der Indexdateien werden auch Sanity Checks durchgeführt.

  • Ggf. mv /var/lib/rpm/Pubkeys /tmp/ (Stören aber ganz selten)
  • rpm –rebuilddb -vv
 
wissen/linux/rpmdb-restore-segfault-rebuilddb-cannot-install-rpm.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de