Slik fikser du Yum-feil: Databasediskbilde er misformet


I denne artikkelen vil vi kort beskrive YUM, YumDB, deretter årsaken til Yum Error: databasediskbilde er feil utformet og hvordan du fikser denne feilen.

RPM (RedHat Package Manager) baserte Linux-distribusjoner som Red Hat Enterprise Linux (RHEL), CentOS samt eldre versjoner av Fedora Linux, bare for å nevne noen få.

Det fungerer akkurat som en ny apt-kommando; den kan brukes til å installere nye pakker, fjerne gamle pakker og spørre etter installerte og/eller tilgjengelige pakker. Den kan også brukes til å oppdatere et system (sammen med avhengighetsoppløsning og foreldet behandling avhengig av lagret depotmetadata).

Merk: Denne guiden antar at du kontrollerer systemet som root, ellers bruker du sudo-kommandoen uten å angi et passord; visste du det, ok, la oss fortsette.

Kort forståelse av YumDB

Fra og med versjon 3.2.26 lagrer yum tilleggsinformasjon angående installerte pakker på et sted utenfor den generiske rpmdatabasen; i en enkel flat fildatabase kalt yumdb (/var/lib/yum/yumdb/) – ikke en ekte database.

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

Du kan sjekke ut en av underkatalogene for å finne ut mer om yumdb som følger.

# cd b
# ls

Selv om denne informasjonen ikke er av stor betydning for yum-prosesser, er den veldig nyttig for systemadministratorene: den beskriver tydelig konteksten en pakke ble installert i systemet i.

Hvis du prøvde å se gjennom filene (from_repo, installed_by, releasever etc..) vist i skjermbildet ovenfor, ville du sannsynligvis ikke se noe viktig i dem.

For å få tilgang til informasjonen i dem, må du installere yum-utils som gir et skript kalt yumdb – bruk deretter dette skriptet som forklart nedenfor.

# yum install yum-utils 

Følgende kommando vil få repoen som httpd ble installert fra.

# yumdb get from_repo httpd

For å definere en merknad på pakkene httpd og mariadb, skriv.

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

Og for å se alle yumdb-verdier angående httpd og mariadb, skriv.

# yumdb info httpd mariadb

Reparer Yum-feil: databasediskbilde er feil utformet

Av og til når du installerer en pakke eller oppdaterer systemet med YUM, kan du støte på feilen: \databasediskbilde er misformet. Det kan skyldes en ødelagt yumdb: muligens forårsaket av en hindring for \yum update-prosessen eller pakken installasjon.

For å fikse denne feilen, må du rense databasebufferen ved å kjøre kommandoen nedenfor.

# yum clean dbcache 

Hvis kommandoen ovenfor ikke fungerer (fiks feilen), prøv å kjøre kommandoserien nedenfor.

# 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

Til slutt må du gjenoppbygge systemets RPM-database for at den skal fungere.

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

Hvis du har fulgt instruksjonene ovenfor godt, bør feilen være løst nå. Prøv deretter å oppdatere systemet som følger.

# yum update 

Du kan også sjekke ut disse viktige artiklene om yum og andre Linux-pakkebehandlere:

  1. Hvordan bruke Yum History for å finne ut installerte eller fjernede pakkerinfo
  2. 27 'DNF' (Fork of Yum)-kommandoer for RPM Package Management i Linux
  3. Hva er APT og Aptitude? og hva er den virkelige forskjellen mellom dem?
  4. Hvordan bruke «apt-fast» for å øke hastigheten på apt-get/apt-pakkenedlastinger ved å bruke flere speil

Har du spørsmål eller ideer å dele angående dette emnet, bruk kommentarfeltet nedenfor for å gjøre det.