Cum se remediază eroarea Yum: imaginea discului bazei de date este incorectă


În acest articol, vom descrie pe scurt YUM, YumDB, apoi cauza Erorii Yum: imaginea discului bazei de date este incorect și cum să remediați acest lucru eroare.

Distribuții Linux bazate pe RPM (RedHat Package Manager), cum ar fi Red Hat Enterprise Linux (RHEL), CentOS, precum și versiuni mai vechi de Fedora Linux, pentru a menționa doar câteva.

Funcționează la fel ca noua comandă apt; poate fi folosit pentru a instala pachete noi, a elimina pachetele vechi și a interoga pachetele instalate și/sau disponibile. Poate fi folosit și pentru a actualiza un sistem (împreună cu rezoluția dependenței și procesarea învechită, în funcție de metadatele stocate ale depozitului).

Notă: acest ghid va presupune că vă controlați sistemul ca root, altfel utilizați comanda sudo fără a introduce o parolă; știai că, bine, hai să continuăm.

Scurtă înțelegere a YumDB

Începând cu versiunea 3.2.26, yum stochează informații suplimentare referitoare la pachetele instalate într-o locație din afara bazei de date generice rpm; într-o bază de date simplă de fișiere plat numită yumdb (/var/lib/yum/yumdb/) – nu o bază de date reală.

# cd /var/lib/yum/yumdb
# ls 

Puteți consulta unul dintre subdirectoare pentru a afla mai multe despre yumdb, după cum urmează.

# cd b
# ls

Deși aceste informații nu sunt de mare importanță pentru procesele yum, sunt foarte utile pentru administratorii de sistem: descrie clar contextul în care a fost instalat un pachet pe sistem.

Dacă ați încerca să căutați prin fișierele (from_repo, installed_by, releasever etc..) afișate în captura de ecran de mai sus, probabil că nu veți vedea nimic important în ele.

Pentru a accesa informațiile din ele, trebuie să instalați yum-utils care oferă un script numit yumdb – apoi utilizați acest script așa cum este explicat mai jos.

# yum install yum-utils 

Următoarea comandă va primi repo din care a fost instalat httpd.

# yumdb get from_repo httpd

Pentru a defini o notă pentru pachetele httpd și mariadb, tastați.

# yumdb set note "installed by aaronkilik to setup LAMP" httpd mariadb

Și pentru a vedea toate valorile yumdb referitoare la httpd și mariadb, tastați.

# yumdb info httpd mariadb

Remediați eroarea Yum: imaginea discului bazei de date este incorectă

Ocazional, în timpul instalării unui pachet sau al actualizării sistemului utilizând YUM, este posibil să întâmpinați eroarea: „Imaginea discului bazei de date este incorect”. Poate rezulta dintr-un corupt. yumdb: posibil cauzat de un impediment al procesului „yum update” sau al instalării pachetului.

Pentru a remedia această eroare, trebuie să curățați memoria cache a bazei de date executând comanda de mai jos.

# yum clean dbcache 

Dacă comanda de mai sus nu funcționează (remediați eroarea), încercați să rulați seria de comenzi de mai jos.

# yum clean all			#delete entries in /var/cache/yum/ directory.
# yum clean metadata		#clear XML metadeta		
# yum clean dbcache		#clear the cached files for database
# yum makecache		        #make cache

În cele din urmă, trebuie să reconstruiți baza de date RPM a sistemului dumneavoastră pentru ca acesta să funcționeze.

# mv /var/lib/rpm/__db* /tmp
# rpm --rebuilddb

Dacă ați urmat bine instrucțiunile de mai sus, atunci eroarea ar trebui să fie rezolvată până acum. Apoi încercați să vă actualizați sistemul după cum urmează.

# yum update 

De asemenea, puteți consulta aceste articole importante despre yum și alți manageri de pachete Linux:

  1. Cum să utilizați „Istoricul Yum” pentru a afla informații despre pachetele instalate sau eliminate
  2. 27 de comenzi „DNF” (Fork of Yum) pentru gestionarea pachetelor RPM în Linux
  3. Ce este APT și Aptitude? și Care este diferența reală între ei?
  4. Cum să utilizați „apt-fast” pentru a accelera descărcările pachetelor apt-get/apt folosind mai multe oglinzi

Aveți întrebări sau idei de împărtășit cu privire la acest subiect, utilizați secțiunea de comentarii de mai jos pentru a face asta.