RPM Database corrupt

Pagina: 1
Acties:

  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Gisteren was ik me linux bakje (Redhat 7.0) aan het upgraden met up2date. Maar ondertussen was ik ook een RPM aan het installeren. En blijkbaar is dat niet helemaal goed gegaan.

Maar afijn, als ik nu een RPM wil installeren of uninstalleren dat geeft hij aan dat de RPM database corrupt is. De volgende melding geeft hij dan:
"Error: rpmdb: damaged header instance #479 retrieved, skipping"
"error: db4 error(-30979) from db->verify: DB_VERIFY_BAD: Database verfication failed"

Nu heb ik "rpm --rebuilddb" geprobeerd. Maar dan komt hij met deze foutmelding: "Segmentation fault (core dumped)"

Hoe kan ik dit probleem oplossen?

[ Voor 20% gewijzigd door Silent891 op 26-04-2003 12:48 ]

Dingen moet je regelen


  • DPLuS
  • Registratie: April 2000
  • Niet online

DPLuS

 

Is dat RPM-progje als RPM geinstalleerd?
Zo ja, dan even de-installeren met # rpm -e rpm-progje
Daarna nieuwe versie weer installeren: # rpm -Uvh rpm-progje
Dan moet het weer werken...

  • mpol
  • Registratie: September 2002
  • Laatst online: 19-01 18:45

mpol

root@localhost

Hmm, klinkt erg scary. Je zou hier eens kunnen kijken, hier wordt beschreven hoe je met een corrupte rpm database om kunt gaan.
http://www.rpm.org/hintskinks/repairdb/

https://timelord.nl


  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Ik denk dat ik nu wel weet wat er corrupt is in de RPM database. Want als ik het volgende uitvoer: "rpm-qa | grep jre" dan krijg ik het volgende te zien:
"jre-1.3.1_07-fcs
jre-1.3.1_04-fcs
jre-1.3.1_07-fcs
jre-1.3.1_07-fcs"

Ik was toen dus de Java RPM aan het installeren. En die staat er nu meerdere keren in de RPM database.
Ik heb hem dus geprobeerd om hem te verwijderen met de volgende commando: "rpm -e jre" dan geeft hij de volgende foutmeldingen:
"error: "jre" specifies multiple packages"
"rpmdb: Overflow page 2836 has bogus prev_pgno value"
"rpmdb: Overflow item incomplete on page 503"
"error: db4 error(-30979) from db->verify: DB_VERIFY_BAD: Database verfication failed"

Ik heb ook geprobeerd om de package naam voluit te schrijven en dan te verwijderen, maar dat lukte ook niet.

Ik heb zelf het idee dat ik met de DB utils (met db_verify enzo) aan de slag moet, om zo die database te fixen. Maar ik heb daar niet veel kennis van. Ik hoop dat jullie mij hierme verder kunnen helpen.

Dingen moet je regelen


  • Silent891
  • Registratie: Januari 2001
  • Laatst online: 20-04 17:12
Nou.... ik heb het "opgelost" alleen totaal niet op de nette manier.

Ik zag zodra ik "rpm --rebuilddb" uitvoerde, dat hij een submap maakte in de /var/lib/rpm directory met zijn 'herstelde' bestanden. De meeste bestanden die in deze submap stonden, waren gelijk qua bestandsgrote. En anderen bestanden waren iets kleiner qua bestandsgrote.

Toen heb ik hetvolgende gedaan:
Als eerste heb voor de zekerheid de orginele directory (/var/lib/rpm) ff ergens heen gekopieerd. (altijd nog een weg terug)
Daarna heb ik dus alle bestanden die hij aanmaakte van het ene submapje gekopieerd naar /var/lib/rpm.
Toen "rpm --rebuilddb" uitgevoerd.. en toen deed hij het weer.

Ik vermoed dus wel dat ik sommige 'koppelingen' kwijt ben, maar de meeste zal er wel in staan (hoop ik) :)

igg ik kan weer verder. Iedereen nog bedankt voor de moeite.

Dingen moet je regelen