当前位置 博文首页 > 码农之家:【Linux】【开发环境】【RHEL】开发环境搭建系列之二

    码农之家:【Linux】【开发环境】【RHEL】开发环境搭建系列之二

    作者:[db:作者] 时间:2021-07-30 18:01

    背景

    在使用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镜像:

    • https://mirrors.aliyun.com
    • http://tel.mirrors.163.com
    • http://mirrors.163.com
    • http://mirrors.sohu.com
    • https://mirror.tuna.tsinghua.edu.cn
    • http://mirrors.zju.edu.cn
    • http://mirror.hust.edu.cn
    • http://mirror.nyist.edu.cn
    • http://mirrors.ustc.edu.cn
    • http://ftp.sjtu.edu.cn

    另外,如使用本地yum源,可从这个链接下载
    百度云链接 提取码: i4pe

    如本文对你有些许帮助,欢迎打赏:
    支付宝打赏链接

    cs