目录
一、问题背景二、安装wget2.1 下载wget2.2 上传wget安装包到linux2.3 安装wget 三、安装yum3.1 卸载python3.2 删除yum3.3 下载安装包3.5 测试yum 四、处理源yum4.1 删除yum源4.2 下载阿里云yum源4.3 清除和生成yum缓存
一、问题背景
在VMware安装完CentOS 7镜像后,发现yum无法使用,报错信息如下:
[root@linux ~]# yum install -y yum-utils已加载插件:fastestmirrorDetermining fastest mirrorsCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured repositories failed (未知), 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=<repoid> ... 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 <repoid> or subscription-manager repos --disable=<repoid> 5. 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=<repoid>.skip_if_unavailable=trueCannot find a valid baseurl for repo: base/7/x86_64
从报错上来看是解析不了mirrorlist.centos.org
这个网址
ping了一下百度,发现是可以ping通的,说明网络没有问题
[root@linux yum.repos.d]# ping www.baidu.comPING www.a.shifen.com (39.156.66.14) 56(84) bytes of data.64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=1 ttl=128 time=6.37 ms64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=2 ttl=128 time=5.66 ms64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=3 ttl=128 time=9.42 ms64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=4 ttl=128 time=6.34 ms
在网上查了有好几篇类似的文章说是dns或者修改/etc/resolv.conf
文件都没有用
最后参考了https://blog.csdn.net/weixin_53588804/article/details/140648651解决问题,但是该文章有几步冗余的操作,于是对其进行整理,重新梳理了一下操作,通过本文记录
二、安装wget
由于新系统中没有wget,先安装wget(如果系统中已经有wget可直接调到第三步)
2.1 下载wget
阿里云镜像库 https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages
在该界面下载 wget-1.14-18.el7_6.1.x86_64.rpm
2.2 上传wget安装包到linux
创建对应文件夹
mkdir /home/wget
进入文件夹
cd /home/wget
将刚才下载的文件上传到该位置
2.3 安装wget
使用rpm安装wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
至此wget安装完毕
三、安装yum
3.1 卸载python
##强制删除已安装程序及其关联rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令whereis python |xargs rm -frv -rf##验证删除,返回无结果whereis python
3.2 删除yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodepswhereis yum |xargs rm -frv -rf
3.3 下载安装包
创建安装包下载文件夹
mkdir /home/wget/rpm
进入文件夹
cd /home/wget/rpm
下载安装包
wget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/lvm2-python-libs-2.02.187-6.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages//python-libs-2.7.5-89.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpmwget https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
3.4 安装替换依赖
rpm -ivh --nodeps --force *.rpm
3.5 测试yum
yum
显示以下信息即为成功:
[root@linux rpm]# yum已加载插件:aliases, fastestmirror, protectbase您需要给出命令Usage: yum [options] COMMANDList of Commands:alias Adds or lists aliasescheck 检查 RPM 数据库问题check-update 检查是否有可用的软件包更新clean 删除缓存数据deplist 列出软件包的依赖关系下面省略...
四、处理源yum
4.1 删除yum源
rm -rf /etc/yum.repos.d/*
4.2 下载阿里云yum源
# 切换目录cd /etc/yum.repos.d/# 下载wget http://mirrors.aliyun.com/repo/Centos-7.repo
4.3 清除和生成yum缓存
## 清除缓存yum clean all## 生成缓存yum makecache
至此问题解决,接着执行之前报错的命令即可
参考文章:https://blog.csdn.net/weixin_53588804/article/details/140648651