Zoeken op website

Yum-fout oplossen: databaseschijfimage is verkeerd ingedeeld


In dit artikel beschrijven we kort YUM, YumDB, vervolgens de oorzaak van Yum Error: database disk image is misvormd en hoe je dit kunt oplossen fout.

YUM (Yellowdog Updater, Modified) is de standaard tool op hoog niveau voor Linux-pakketbeheer op op RPM (RedHat Package Manager) gebaseerde Linux-distributies zoals Red Hat Enterprise Linux (RHEL), CentOS en oudere versies van Fedora Linux, gewoon om er maar een paar te noemen.

Het werkt net als het apt-get-commando of het relatief nieuwe apt-commando; het kan worden gebruikt om nieuwe pakketten te installeren, oude pakketten te verwijderen en geïnstalleerde en/of beschikbare pakketten op te vragen. Het kan ook worden gebruikt om een systeem bij te werken (samen met het oplossen van afhankelijkheid en verouderde verwerking, afhankelijk van de metagegevens van de opgeslagen repository).

Opmerking: in deze handleiding wordt ervan uitgegaan dat u uw systeem als root bestuurt. Gebruik anders de opdracht sudo om alle onderstaande opdrachten uit te voeren. Interessant is dat je de sudo-opdracht ook kunt uitvoeren zonder een wachtwoord in te voeren; Wist je dat, oké, laten we doorgaan.

Kort begrip van YumDB

Vanaf versie 3.2.26 slaat yum aanvullende informatie over geïnstalleerde pakketten op op een locatie buiten de generieke rpmdatabase; in een eenvoudige database met platte bestanden genaamd yumdb (/var/lib/yum/yumdb/) – geen echte database.

cd /var/lib/yum/yumdb
ls 

Je kunt als volgt een van de submappen bekijken om meer over yumdb te weten te komen.

cd b
ls

Hoewel deze informatie niet van groot belang is voor yum-processen, is ze wel erg nuttig voor de systeembeheerders: ze beschrijft duidelijk de context waarin een pakket op het systeem werd geïnstalleerd.

Als u door de bestanden (from_repo, installed_by, releasever enz.) zou kijken die in de bovenstaande schermafbeelding worden weergegeven, ziet u waarschijnlijk niets belangrijk in hen.

Om toegang te krijgen tot de informatie daarin, moet je yum-utils installeren, dat een script levert met de naam yumdb – en vervolgens dit script gebruiken zoals hieronder uitgelegd.

yum install yum-utils 

Met het volgende commando wordt de repository opgehaald waaruit httpd is geïnstalleerd.

yumdb get from_repo httpd

Om een opmerking over de pakketten httpd en mariadb te definiëren, typt u.

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

En om alle yumdb-waarden met betrekking tot httpd en mariadb te bekijken, typt u.

yumdb info httpd mariadb

Fix Yum Error: databaseschijfimage is verkeerd ingedeeld

Af en toe kun je tijdens het installeren van een pakket of het updaten van je systeem met YUM de fout tegenkomen: “database schijfimage is misvormd”. Het kan het gevolg zijn van een beschadigde yumdb: mogelijk veroorzaakt door een belemmering van het “yum update” proces of pakketinstallatie.

Om deze fout te verhelpen, moet u de databasecache opschonen door de onderstaande opdracht uit te voeren.

yum clean dbcache 

Als de bovenstaande opdracht niet werkt (verhelp de fout), probeer dan de onderstaande reeks opdrachten uit te voeren.

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

Ten slotte moet u de RPM-database van uw systeem opnieuw opbouwen om deze te laten werken.

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

Als u bovenstaande instructies goed heeft gevolgd, zou de fout inmiddels verholpen moeten zijn. Probeer vervolgens uw systeem als volgt bij te werken.

yum update 

Je kunt ook deze belangrijke artikelen lezen over yum en andere Linux-pakketbeheerders:

  1. Hoe u ‘Yum History’ kunt gebruiken om informatie over geïnstalleerde of verwijderde pakketten te achterhalen
  2. 27 'DNF'-opdrachten (Fork of Yum) voor RPM-pakketbeheer in Linux
  3. Wat is APT en Aptitude? en wat is het echte verschil tussen hen?
  4. Hoe u ‘apt-fast’ kunt gebruiken om apt-get/apt-pakketdownloads te versnellen met behulp van meerdere mirrors

Heeft u vragen of ideeën die u over dit onderwerp wilt delen, gebruik dan het commentaargedeelte hieronder.