我安装了CentOS7_1708的DVD和Minimal版本,并调通了网络,确认可以正常上网,但在分别使用yum安装软件时,都出现了以下报错:
[Errno 14] HTTP Error 302 - Found
在请教了别人以后,知道是yum源的配置有问题。在网上搜索很久以后,终于成功解决了这个问题。
首先我们应该以root身份登录系统,打开终端,输入以下命令:
cd /etc/yum.repos.d/
ll
cp CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Base.repo
---------------------------------------------------------------------------------------------------------------------------
以CentOS-7-x86_64-Minimal-1708为例,删除CentOS-Base.repo中多余的模块,只留[base]、[updates]、[extras]三个模块。[base]模块中,在 mirrorlist 前添加 #,注释掉这一行,同时去掉 baseurl 前的 #。
在浏览器中打开网页https://mirrors.aliyun.com/centos/,找到你的系统对应的版本目录,我的是7.4.1708/。
点击进去,找到名为os的目录。再点击进去,直到找到repodata这个文件夹。如下图所示:
复制路径,我这里的路径是 https://mirrors.aliyun.com/centos/7.4.1708/os/x86_64/。把 baseurl 等号右边的值修改为此路径。
[updates]、[extras]模块和[base]模块的修改方法一样,只是路径不一样。
[updates]模块baseurl的值,应去 系统对应的版本目录/updates/下寻找。直到找到repodata这个文件夹,复制这一层路径。我这里的路径是https://mirrors.aliyun.com/centos/7.4.1708/updates/x86_64/。
[extras]模块一样,不同的是到 系统对应的版本目录/extras/下寻找。我这里的路径是https://mirrors.aliyun.com/centos/7.4.1708/extras/x86_64/。 修改成如下图所示,按[esc]键,输入“:wq” 保存退出。
yum clean all
yum makecache all
yum update
此时,yum命令已经可以正常使用了。
---------------------------------------------------------------------------------------------------------------------------
我的CentOS-7-x86_64-DVD-1708,按如上方法修改后,使用yum还是会报以下错误:
源 "CentOS-5 - Base" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥。
经检查才发现DVD版本的系统,/etc/yum.repos.d/CentOS-Base.repo中,gpgkey这一项默认设置的是CentOS5的公钥地址gpkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5,而我修改后的 baseurl 是CentOS7的。这是版本不匹配导致的结果。
解决方法很简单。在浏览器中打开之前修改 baseurl 时使用的网址https://mirrors.aliyun.com/centos/ 或者 http://mirror.centos.org/centos/,找到“RPM-GPG-KEY-CentOS-版本号”,点击进去,然后复制这一层路径到CentOS-Base.repo中,覆盖掉[base]、[updates]、[extras]三个模块中原来的gpgkey的值。我这里修改以后是gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7。如下图所示,按[esc]键,输入“:wq” 保存退出。
yum clean all
yum makecache all
yum update
此时,yum命令已经可以正常使用了。