执行yum时出错的原因,以及yum首先是如何工作的。
出版日期:2020年12月27日。
INFOMARTION > 执行yum时出错的原因,以及yum首先是如何工作的。
概述。
对于那些yum工作不顺利的人来说,本节首先解释了yum是如何工作的。
如果工作不顺利,就会出现 "无法检索镜像列表http://mirrorlist.centos.org/? ..." 或 "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"" 。
结论很可能是,DNS和网络设置没有配置好。
我想解释一下yum是如何工作的以及如何处理它。
目录
- 什么是yum?
- 1-1. yum如何工作
- 导致yum工作不顺利的原因
- 2-1. 原因①未连接到网络
- 2-2. 原因②没有配置DNS。
- 2-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文件)可从上述网址中检索到。
2. 导致yum工作不顺利的原因
我们想根据yum的工作方式来考虑它不工作的原因。
2-1. 原因①未连接到网络
正如前面所解释的,yum到外部服务器上检索软件包文件(RPM文件)。 因此,如果没有互联网连接,yum不能被执行。
ping 8.8.8.8'(其中8.8.8.8是谷歌的DNS服务器)。 通过运行类似的程序检查是否有反应。 如果没有回应,很可能是由于缺乏互联网连接。
2-2. 原因②没有配置DNS。
yum去外部服务器获取软件包文件(RPM文件),但它没有直接输入IP地址,而是使用 "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra =",例如。 因此,如果不知道 "mirrorlist.centos.org "的名称解析(与之相关的IP地址),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名称解析不佳,我没有被连接。 我希望这对那些有问题的人来说是有帮助的。
谢谢你一直看到最后。