前提:使用SSH连接虚拟机
操作系统镜像版本:CentOS-7-x86_64-Minimal-2207-02
#Linux Centos 7.9.2009 minorver=7.9.2009 sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \ -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.aliyun.com/centos-vault/$minorver|g" \ -i.bak \ /etc/yum.repos.d/CentOS-*.repo
错误
该错误产生的原因:DNS 服务器配置
系统无法解析域名
[root@localhost ~]# yum -y install wget
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
https://mirrors.aliyun.com/centos-vault/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.aliyun.com; Unknown error"
Trying other mirror.
One of the configured repositories failed (CentOS-7 - Base),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).3. Run the command with the repository temporarily disabled
yum --disablerepo=base ...4. Disable the repository permanently, so yum won't use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:yum-config-manager --disable base
or
subscription-manager repos --disable=base5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:yum-config-manager --save --setopt=base.skip_if_unavailable=true
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
https://mirrors.aliyun.com/centos-vault/7.9.2009/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.aliyun.com; Unknown error"
解决方法
下面是一些常见的中国公共 DNS 服务器:
- 阿里公共 DNS: - 223.5.5.5 - 223.6.6.6 - 百度公共 DNS: - 180.76.76.76 - 114 DNS: - 114.114.114.114 - 114.114.115.115
编辑 `/etc/resolv.conf` 文件来使用这些 DNS 服务器。
1. 打开 `/etc/resolv.conf` 文件:
vi /etc/resolv.conf
2. 添加以下内容:
nameserver 223.5.5.5 nameserver 223.6.6.6 nameserver 180.76.76.76 nameserver 114.114.114.114 nameserver 114.114.115.115
3. 保存并退出文件。
4. 检查 DNS 配置是否生效:
nslookup baidu.com
如果能够正常解析域名,说明 DNS 配置已经生效。
5. 如果你希望这些设置永久生效,可以考虑锁定 `/etc/resolv.conf` 文件防止被 DHCP 客户端覆盖:
chattr +i /etc/resolv.conf
请注意,锁定文件可能会影响到系统的其他网络配置操作。如果需要修改 DNS 配置,可以先解锁:
chattr -i /etc/resolv.conf
尝试以上步骤后,你的系统应该能够正常解析域名并连接到软件源。