martedì 2 gennaio 2007

Ricostruzione del DB repository dei pacchetti rpm a seguito di un rpmdb PANIC

Durante l'esecuzione del software per la gestione dei pacchetti installati a bordo del sistema ( yum ), può accadere che si corrompa il DB utilizzato per il mantenimento delle informazioni sui pacchetti installati.

In tale circostanza, qualsiasi esecuzione del comando yum o suoi derivati, così come l'esecuzione del comando a cui yum si interfaccia, cioè il ben noto rpm, può produrre un output come questo:

rpmdb: PANIC: Invalid argument
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from dbcursor->c_put: DB_RUNRECOVERY: Fatal error, run database recovery
error: error(-30977) storing record into Requireversion
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery

ripetuto più e più volte.

Il Forum di Fedora on Line ci viene incontro con una soluzione possibile. Si tratta in pratica di eliminare alcuni file dalla directory in cui risiedono fisicamente i dati del DB dei pacchetti installati, e di rigenerare conseguentemente il DB ex-novo. La soluzione è stata testata ed è funzionante.

Da utente root:

- Eseguire il comando rm -f /var/lib/rpm/__db*, oppure, per sicurezza, muovere tutti i file __db* nella cartella /var/lib/rpm in una estensione di sicurezza, per esempio .old oppure .orig.

- Eseguire il comando rpm --rebuilddb

Naturalmente, l'esecuzione di questi comandi è vostra decisione e vostra responsabilità, ma se prendete le necessarie precauzioni, non dovrebbero esserci problemi. A bordo del mio sistema, a seguito di questo problema, questa semplice sequenza di comandi ha permesso di ritornare al funzionamento corretto.

Etichette:

0 Commenti:

Posta un commento

Iscriviti a Commenti sul post [Atom]

<< Home page