De oorzaken van fouten bij het uitvoeren van yum, en hoe yum in de eerste plaats werkt.


Datum van publicatie:27 december 2020.



INFOMARTION > De oorzaken van fouten bij het uitvoeren van yum, en hoe yum in de eerste plaats werkt.

Overzicht.

Voor degenen voor wie yum niet goed werkt, legt deze sectie uit hoe yum in de eerste plaats werkt.

Als het niet goed werkt, verschijnt de melding "Could not retrieve mirrorlist http://mirrorlist.centos.org/? ..." of "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"".

De conclusie zal waarschijnlijk zijn dat de DNS- en netwerkinstellingen niet goed zijn geconfigureerd.

Ik wil graag uitleggen hoe yum werkt en hoe je ermee om moet gaan.

Inhoudsopgave

  1. Wat is yum?
  2. Oorzaken van yum die niet goed werkt
  3. samenvatting

1. Wat is yum?

Waarschijnlijk installeer je normaal gesproken verschillende dingen door iets uit te voeren als "yum install httpd", maar als je yum in een paar woorden zou moeten uitleggen, dan zou het een pakketbeheer programma zijn.

Zoals je wel weet, haalt yum zijn bestanden van het internet.

1-1. Hoe yum werkt

Een ruwe beschrijving van het proces werkt als volgt.

・Selecteer de bestemmingsserver uit de yum repository informatie van uw server.

・Verkrijg gegevens van de bestemmingsserver.

Het heeft de te verkrijgen informatie over de repository onder "/etc/yum.repos.d/". Deze informatie wordt gebruikt om gegevens op te vragen.

U vindt de volgende informatie onder "/etc/yum.repos.d/".

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

De bovenstaande 'mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra' is waar je het kunt krijgen. $releasever', '$basearch' en '$infra' zijn variabelen, dus de eigenlijke URL is 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=' als die overeenkomt met mijn omgeving. De werkelijke URL zal "" zijn.

Als u deze URL in een browser opent, krijgt u de volgende informatie.

http://ftp.riken.jp/Linux/centos/7.9.2009/os/x86_64/
http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/
http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.9.2009/os/x86_64/
http://mirrors.cat.net/centos/7.9.2009/os/x86_64/
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/os/x86_64/
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/
http://mirror.vastspace.net/centos/7.9.2009/os/x86_64/
http://mirror.nus.edu.sg/centos/7.9.2009/os/x86_64/

De softwarepakketbestanden (RPM-bestanden) worden opgehaald van de bovenstaande URL.

2. Oorzaken van yum die niet goed werkt

We willen graag de redenen bekijken waarom het niet werkt, gebaseerd op hoe yum werkt.

2-1. oorzaak①Niet verbonden met het netwerk

Zoals eerder uitgelegd, gaat yum naar een externe server om software pakket bestanden (RPM bestanden) op te halen. Daarom kan yum niet worden uitgevoerd als er geen internetverbinding is.

'ping 8.8.8.8' (waarbij 8.8.8.8 de DNS server van Google is). Controleer op een reactie door iets als. Als er geen reactie komt, is dat waarschijnlijk te wijten aan een gebrekkige internetverbinding.

2-2. oorzaak②DNS is niet geconfigureerd.

yum gaat naar een externe server om software pakket bestanden (RPM bestanden) te verkrijgen, maar in plaats van het IP adres direct in te typen, gebruikt het "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra =", bijvoorbeeld. Daarom, als de naamresolutie (IP adres geassocieerd met) van "mirrorlist.centos.org" niet bekend is, zal yum falen.

Controleer of er een reactie is door 'ping google.com' of iets dergelijks uit te voeren. Als er geen reactie is, zijn de DNS-instellingen hoogstwaarschijnlijk niet goed geconfigureerd.

2-3. oorzaak③Geen repository informatie op eigen server

Zoals uitgelegd in het yum mechanisme, kijkt yum naar de repository informatie van zijn eigen server om een plaats te vinden om de informatie te verkrijgen. Als u verbonden bent met het Internet en DNS hebt ingesteld, is het zeer waarschijnlijk dat de instellingen onder "/etc/yum.repos.d/" onjuist zijn.

Als beschreven ter referentie, zal het niet werken zonder de volgende basisinstellingen.

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

3. samenvatting

Deze sectie beschrijft hoe om te gaan met gevallen waarin yum niet goed werkt wanneer het wordt uitgevoerd.

In mijn geval had ik geen verbinding door een slechte DNS naamresolutie. Ik hoop dat dit nuttig is voor degenen die problemen hebben.

Bedankt voor het kijken tot het einde.