Die Ursachen von Fehlern bei der Ausführung von yum, und wie yum überhaupt funktioniert.


Datum der Veröffentlichung:27. Dezember 2020.



INFOMARTION > Die Ursachen von Fehlern bei der Ausführung von yum, und wie yum überhaupt funktioniert.

Überblick.

Für diejenigen, bei denen yum nicht gut funktioniert, erklärt dieser Abschnitt, wie yum überhaupt funktioniert.

Wenn es nicht gut funktioniert, erscheint die Meldung "Could not retrieve mirrorlist http://mirrorlist.centos.org/? ..." oder "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"".

Die Schlussfolgerung ist wahrscheinlich, dass die DNS- und Netzwerkeinstellungen nicht richtig konfiguriert sind.

Ich möchte erklären, wie yum funktioniert und wie man damit umgeht.

Inhaltsübersicht

  1. Was ist Yum?
  2. Ursachen für schlecht funktionierendes yum
  3. Zusammenfassung

1. Was ist Yum?

Wahrscheinlich installieren Sie normalerweise verschiedene Dinge, indem Sie etwas wie "yum install httpd" ausführen, aber wenn Sie yum in ein paar Worten erklären sollten, wäre es ein Werkzeug zur Paketverwaltung.

Wie Sie sicher wissen, bezieht yum seine Dateien aus dem Internet.

1-1. Wie yum funktioniert

Eine grobe Beschreibung des Prozesses sieht folgendermaßen aus.

・Wählen Sie den Zielserver aus den yum-Repository-Informationen Ihres Servers aus.

・Abrufen von Daten vom Zielserver.

Die zu erwerbenden Repository-Informationen befinden sich unter "/etc/yum.repos.d/". Diese Informationen werden zum Abrufen von Daten verwendet.

Sie finden die folgenden Informationen unter "/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

Die obige "mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra" ist der Ort, an dem man es bekommt. '$releasever', '$basearch' und '$infra' sind Variablen, so dass die tatsächliche URL 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=' lautet, wenn sie meiner Umgebung entspricht. Die aktuelle URL lautet "".

Wenn Sie diese URL in einem beliebigen Browser aufrufen, erhalten Sie die folgenden Informationen.

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/

Die Softwarepaketdateien (RPM-Dateien) werden von der oben genannten URL abgerufen.

2. Ursachen für schlecht funktionierendes yum

Wir möchten die Gründe, warum es nicht funktioniert, anhand der Funktionsweise von yum untersuchen.

2-1. verursachen①Nicht mit dem Netzwerk verbunden

Wie bereits erläutert, geht yum zu einem externen Server, um Softwarepaketdateien (RPM-Dateien) abzurufen. Daher kann yum nicht ausgeführt werden, wenn keine Internetverbindung besteht.

ping 8.8.8.8' (wobei 8.8.8.8 der DNS-Server von Google ist). Prüfen Sie, ob Sie eine Antwort erhalten, indem Sie etwas wie folgt ausführen. Wenn Sie keine Antwort erhalten, liegt das höchstwahrscheinlich an einer fehlenden Internetverbindung.

2-2. verursachen②DNS ist nicht konfiguriert.

yum wendet sich an einen externen Server, um Software-Paketdateien (RPM-Dateien) zu beziehen, aber anstatt die IP-Adresse direkt einzugeben, verwendet es "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra =", zum Beispiel. Wenn also die Namensauflösung (IP-Adresse in Verbindung mit) von "mirrorlist.centos.org" nicht bekannt ist, wird yum fehlschlagen.

Prüfen Sie, ob Sie eine Antwort erhalten, indem Sie "ping google.com" oder etwas Ähnliches ausführen. Wenn Sie keine Antwort erhalten, sind die DNS-Einstellungen höchstwahrscheinlich nicht richtig konfiguriert.

2-3. verursachen③Keine Repository-Informationen auf eigenem Server

Wie im yum-Mechanismus erläutert, schaut yum in den Repository-Informationen seines eigenen Servers nach, um einen Ort zu finden, an dem es die Informationen beziehen kann. Wenn Sie mit dem Internet verbunden sind und DNS eingerichtet haben, ist es sehr wahrscheinlich, dass die Einstellungen unter "/etc/yum.repos.d/" falsch sind.

Wie als Referenz beschrieben, wird es ohne die folgenden Grundeinstellungen nicht funktionieren.

[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. Zusammenfassung

Dieser Abschnitt beschreibt, wie man mit Fällen umgeht, in denen yum bei der Ausführung nicht gut funktioniert.

In meinem Fall wurde ich aufgrund einer schlechten DNS-Namensauflösung nicht verbunden. Ich hoffe, dass dies für diejenigen, die Probleme haben, hilfreich sein wird.

Danke, dass Sie bis zum Ende zugesehen haben.