redhat 7更换yum源

卸载原来的源

rpm -qa|grep yum|xargs rpm -e --nodeps

下载新的yum相关软件包

这里我们需要用到下面的五个:

python-urlgrabber-3.10-9.el7.noarch.rpm
rpm-4.11.3-40.el7.x86_64.rpm
yum-3.4.3-163.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

比如我们从阿里云上下载,可以使用下面的命令下载

curl -o /tmp/python-urlgrabber-3.10-9.el7.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
curl -o /tmp/rpm-4.11.3-40.el7.x86_64.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-40.el7.x86_64.rpm
curl -o /tmp/yum-3.4.3-163.el7.centos.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
curl -o /tmp/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
curl -o /tmp/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

下载完成以后安装.在安装的时候可能会提示存在文件冲突,根据http://man.linuxde.net/rpm中的介绍,在执行安装语句的时候加上选项–force

rpm -ivh --force rpm-4.11.3-40.el7.x86_64.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm python-urlgrabber-3.10-9.el7.noarch.rpm yum-3.4.3-163.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

配置yum源的配置文件

由于阿里云的镜像站存在几个url不通,所以我们换成清华的镜像站。编辑/etc/yum.repos.d/CentOS-Base.repo,添加如下内容:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-7 - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-7 - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-7 - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7 - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    

清华大学镜像站提供的源的配置文件内容中,存在$releasever的参数,这个参数在centos中能够正常运行,但是在redhat下,需要把它变成对应的系统版本。可以在vi编辑器下执行下面的命令:

:1,$s/$releasever/7/g

或者直接在命令行输入如下命令:

sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

生成新的缓存

yum clean all
yum makecache

可能问题

原状态为disable状态

使用yum repolist all命令查看,发现centosplus/x86_64状态为禁用,如下:

[root@localhost tmp]# yum repolist all
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
源标识                                                           源名称                                                            状态
base/x86_64                                                      CentOS-7 - Base                                                   启用: 10,097
centosplus/x86_64                                                CentOS-7 - Plus                                                   禁用
extras/x86_64                                                    CentOS-7 - Extras                                                 启用:    305
updates/x86_64                                                   CentOS-7 - Updates                                                启用:    686

此时无法正常安装软件,可以将源配置文件的enable改成1即可

获取 GPG 密钥失败:[Errno 14] curl#37 - “Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7”

从阿里云或者其他镜像站上,将RPM-GPG-KEY-CentOS-7下载到/etc/pki/rpm-gpg/下即可:

curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

猜你喜欢

转载自blog.csdn.net/zxycyj1989/article/details/102837991