背景
在使用RHEL安装软件包的过程中,经常会遇到两个问题:
- 安装好RHEL的Linux后,如果是未注册的,执行yum install命令安装软件会报错:
This system is not registered with an entitlement server. You can use
subscription-manager to register.
- 使用原生的源安装比较慢;
在上述两种情况下,就需要更换yum源,本文以更新yum源为阿里镜像为例来说明。
操作步骤
查询并删除已有的yum文件
rpm -qa | grep yum #查询yum文件 rpm -qa | grep yum | xargs rpm -e --nodeps #删除yum文件,需root账号
更新yum文件
下载yum相关的rpm包
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-54.el7_8.noarch.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
注意,这里具体的路径和文件名,要以阿里镜像的实际情况为准。
安装rpm的yum包
rpm -ivh yum-* rpm -ivh python-*
有时有依赖关系,可增加–force --nodeps选项强制安装,之后通过之前提到的命令进行确认:
[qxhgd@localhost yum.repos.d]# rpm -qa | grep yum yum-utils-1.1.31-54.el7_8.noarch PackageKit-yum-1.1.10-2.el7.centos.x86_64 yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch yum-3.4.3-168.el7.centos.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-updateonboot-1.1.31-54.el7_8.noarch
更新repo
下载repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
操作之前注意备份原镜像文件,避免出错后无法收拾。
修改repo文件
将“$releasever”替换为7,7对应之前的centos的版本号。
vim /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base - mirrors.aliyun.com ... :%s/$releasever/7/g
生成yum缓存并进行更新
yum clean all yum makecache yum update
相关命令汇总
rpm -qa | grep yum #查询yum文件 rpm -qa | grep yum | xargs rpm -e --nodeps #删除yum文件 cat /etc/redhat-release #查看红帽版本号 wget https://xxx.yyy.zzz #wget下载文件 rpm -ivh yum-* #安装yum包 rpm -ivh python-* #安装python包 rpm -ivh yum-* --force --nodeps #强制安装 rpm -ivh python-* --force --nodeps #强制安装 yum clean all #清除yum本地缓存 yum makecache #更新yum本地缓存 yum update #检查更新 yum repolist all #查看当前可用的源 cat /etc/yum.conf #查看yum的配置 cat /etc/yum.repo.d/CentOS-Base.repo #查看repo配置 cat /usr/bin/yum #查看yum的脚本内容
总结
实际应用中,yum源可以有三种来源配置
- 网络yum源;
- 共享yum源;
- 本地yum源
本文仅探讨了更换源为网络yum源的情况。
另外,推荐几个国内比较稳定的yum镜像:
另外,如使用本地yum源,可从这个链接下载
百度云链接 提取码: i4pe