Причините за грешки при изпълнение на yum и как yum изобщо работи.


Дата на публикуване:27 декември 2020 г.



INFOMARTION > Причините за грешки при изпълнение на yum и как yum изобщо работи.

Преглед.

За тези, за които yum не работи добре, този раздел обяснява как изобщо работи yum.

Ако не работи добре, ще се появи съобщението "Could not retrieve mirrorlist http://mirrorlist.centos.org/? ..." или "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"".

Заключението вероятно е, че DNS и мрежовите настройки не са добре конфигурирани.

Бих искал да обясня как работи yum и как да се справяме с него.

Съдържание

  1. Какво е yum?
  2. Причини, поради които yum не работи добре
  3. резюме

1. Какво е yum?

Вероятно обикновено инсталирате различни неща, като изпълнявате нещо като "yum install httpd", но ако трябва да обясните yum с няколко думи, това е инструмент за управление на пакети.

Както знаете, yum получава файловете си от интернет.

1-1. Как работи yum

Процесът може да се опише приблизително по следния начин.

・Изберете сървъра на дестинацията от информацията за хранилището на yum на вашия сървър.

・Получаване на данни от сървъра на дестинацията.

Той съдържа информацията за хранилището, която трябва да бъде придобита в "/etc/yum.repos.d/". Тази информация се използва за извличане на данни.

Ще намерите следната информация в "/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

Горепосоченият 'mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra' е мястото, откъдето можете да го вземете. '$releasever', '$basearch' и '$infra' са променливи, така че действителният URL адрес е 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=', ако отговаря на моята среда. Действителният URL адрес ще бъде "".

Достъпът до този URL адрес във всеки браузър ще върне следната информация.

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/

Файловете на софтуерните пакети (RPM файлове) се извличат от горепосочения URL адрес.

2. Причини, поради които yum не работи добре

Бихме искали да разгледаме причините, поради които тя не работи, въз основа на това как работи yum.

2-1. причина①Не е свързан към мрежата

Както беше обяснено по-рано, yum се обръща към външен сървър, за да изтегли файлове със софтуерни пакети (RPM файлове). Затова yum не може да бъде изпълнен, ако няма интернет връзка.

'ping 8.8.8.8' (където 8.8.8.8.8 е DNS сървърът на Google). Проверете за отговор, като стартирате нещо подобно. Ако няма отговор, това най-вероятно се дължи на липса на интернет връзка.

2-2. причина②DNS не е конфигуриран.

yum се обръща към външен сървър, за да получи файлове със софтуерни пакети (RPM файлове), но вместо да въведе директно IP адреса, използва "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra =", например. Следователно, ако резолюцията на името (IP адресът, свързан с) на "mirrorlist.centos.org" не е известна, yum ще се провали.

Проверете дали получавате отговор, като стартирате "ping google.com" или нещо подобно. Ако няма отговор, е много вероятно настройките на DNS да не са добре конфигурирани.

2-3. причина③Няма информация за хранилището на собствения сървър

Както е обяснено в механизма на yum, yum търси информация за хранилището на собствения си сървър, за да намери място, от което да получи информацията. Ако сте свързани с интернет и сте настроили DNS, много вероятно е настройките в "/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

3. резюме

В този раздел е описано как да се справите със случаите, в които yum не работи добре, когато се изпълнява.

В моя случай не бях свързан поради лошо разрешаване на имената в DNS. Надявам се, че това ще бъде полезно за тези, които имат проблеми.

Благодарим ви, че гледахте до края.