Linux: guida completa su come ricostruire un database RPM corrotto

di | 1 Gennaio 2013

RPM (Redhat Package Manager) è il gestore pacchetti di base di Red Hat e di tutte le distribuzioni derivate (RHEL, CentOS, Fedora…). Potrebbe accadere – alcuni hanno riscontrato il problema a causa di spazio esaurito sulla partizione contenente /var – che la struttura del database si danneggi, rendendo impossibile l’utilizzo del programma (e tutti i suoi gestori grafici associati, come YUM) sul sistema operativo. Vediamo quindi come ricostruire un database RPM corrotto, anche se il consiglio universale è di fare una copia di backup da ripristinare il tutto in caso di problemi.

Linux – guida a come ricostruire un database RPM corrotto

Per prima cosa, al fine di evitare problemi statelock di RPM – se l’applicazione usa il gestore – il consiglio è di agire in modalità single user (in alcune configurazioni basterà dare il comando init 1 come root, in altre occorrerà riavviare il sistema aggiungendo una “s”o un “1″ – senza le virgolette – ai parametri d’avvio del kernel).

Entrati in modalità single user, eliminate i file per la gestione dello statelock e ricostruire il database utilizzando il comando rpm –rebuilddb. Quindi digitate in shell:

cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages

Adesso riavviate il sistema e verificate che RPM funzioni a dovere. Se, non avete i tools rpmdb, potrete ricorrere ai comandi :

cd /var/lib
mv Packages Packages-backup
db_dump Packages-backup | db_load Packages
rpm -qa
rpm --rebuilddb

Tutti e due i procedimenti sono utilizzabili anche in remoto (ad esempio in sessione SSH).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.