目录

一、CentOS7的环境安装

二、YUM和RPM

2.1.RPM包管理工具

2.2.YUM包管理工具

三、部署公网yum源

3.1.yum源的相关配置

3.2.选择yum源(注意:Centos7版本在2024年官方已停止维护,同步下面的yum源也可能也同步停止维护,可直接尝试3.3.修改yum源)

3.3.修改yum源(目前有效)

3.4.刷新本地软件包列表

3.5.验证

3.6.禁用 SSL 验证(临时测试用)

3.7.yum包管理器的使用

3.7.1.查看软件包(查)、常搭配管道符使用

3.7.2.安装软件包(增)

3.7.3.卸载软件包(删)

3.7.4.更新软件包(改)

3.7.5.清除缓存命令

3.8.rpm包管理器的使用

3.8.1.查看软件包(查)

3.8.2.安装软件包(增)

3.8.2.卸载软件包(删)

3.8.3.更新软件包(改)


一、CentOS7的环境安装

        CentOS6.5和CentOS7版本的安装存在较大的差异,但是思路大体一致。 

二、YUM和RPM

2.1.RPM包管理工具

        RPM(Red Hat Package Manager)是底层包管理工具,负责对单个RPM包的安装、查询、升级、卸载等基础操作,但是无法自动处理依赖关系。

        rpm:仅支持本地 RPM 文件,需用户手动下载或指定本地路径。

2.2.YUM包管理工具

        YUM(全称 Yellowdog Updater Modified)是 Linux 系统中用于管理 RPM (Redhat Package Manager)软件包的命令行工具,它是基于 RPM的高级包管理工具,它通过调用RPM的底层功能,额外提供了自动依赖解决、软件仓库管理、批量操作等能力,简化了复杂场景下的包管理流程,从而无须繁琐地一次次下载、安装。

        YUM:基于“软件仓库”(Repository),从配置的远程仓库(如 CentOS 官方源、EPEL 源)或本地仓库中获取包,无需手动下载。仓库配置文件通常位于 /etc/yum.repos.d/(如 CentOS-Base.repo)。

三、部署公网yum源

3.1.yum源的相关配置

配置目录:vi /etc/yum.repos.d/CentOS-Base.repo

打开CentOS-Base.repo文件,可以看到url路径是CentOS的官网自身的yum源,http://mirrorlist.centos.org/?release=releasever&arch=releasever&arch= basearch&repo=os。可以将这个mirrorlist注释掉(一般情况是对配置文件进行配分),然后将baseurl设置成国内的阿里云源/清华源/腾讯云源

缓存目录:/var/cache/yum

日志文件:/var/log/yum.log

3.2.选择yum源(注意:Centos7版本在2024年官方已停止维护,同步下面的yum源也可能也同步停止维护,可直接尝试3.3.修改yum源)

配置备份原配置文件:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

阿里云配置文件(前提情况,具有wget工具,执行命令即可):curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

EPEL 扩展源(提供大量额外软件包(如 nginx、git 等)),建议一并配置:
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

将镜像的配置文件中的baseurl地址更换成一下的路径尝试一下:

华为云:https://mirrors.huaweicloud.com/centos-vault/7.9.2009/

腾讯云:https://mirrors.cloud.tencent.com/centos-vault/7.9.2009/

清华大学:(TUNA) https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.9.2009/

3.3.修改yum源(目前有效)

阿里云的配置(如果没有安装crul工具,可以复制粘贴尝试一下):

[base]
name=CentOS-7 - Base - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-7 - Updates - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-7 - Extras - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

3.4.刷新本地软件包列表

修改镜像源后,必须刷新本地软件包列表以同步新镜像源的信息

sudo yum clean all           # 清除旧缓存(yum)

sudo yum makecache      # 生成新缓存

3.5.验证

执行yum install -y nginx,出现进度条即成功(前提,打通外网)

3.6.禁用 SSL 验证(临时测试用)

如果出现更换成centos的yum之后能查找到软件,但是无法下载且提示 yum [Errno 14] problem making ssl connection错误,这是由于阿里镜像、清华镜像使用了https加密的传输方式,可以在配置文件中添加不对SSL校验,即禁用SSL验证。

        /etc/yum.conf文件,在其文件内容后追加sslverify=false或sslverify=0即可(再CentOS7版本中,即使没有做这一步,也能实现)

3.7.yum包管理器的使用

yum的完整语法如下:

        yum [options] [command] [package ...]

       options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。

        command:要进行的操作。

        package:安装的包名。

3.7.1.查看软件包(查)、常搭配管道符使用

        列出所有可安裝的软件清单命令:yum list

        列出所有可更新的软件清单命令:yum check-update

        查找软件包命令:yum search <keyword>

        列出所有可更新的软件清单命令:yum check-update

示例:

列出所有可安裝的软件清单:yum list

 查看是否安装wget:yum list installed | grep wget

查找是否有httpd软件包:yum search httpd

3.7.2.安装软件包(增)

        仅安装指定的软件命令:yum install <package_name>     

示例:

yum install -y httpd

yum install -y telnet

3.7.3.卸载软件包(删)

        删除软件包命令:yum remove <package_name>

3.7.4.更新软件包(改)

        更新所有软件命令:yum update

        仅更新指定的软件命令:yum update <package_name>

3.7.5.清除缓存命令

        清除缓存目录下的软件包:yum clean packages

        清除缓存目录下的 headers:yum clean headers

        清除缓存目录下旧的 headers:yum clean oldheaders

     清除缓存目录下的软件包及旧的 headers:yum clean/yum clean all (= yum clean packages; yum clean oldheaders)      

3.8.rpm包管理器的使用

3.8.1.查看软件包(查)

查看已安装的包

rpm -q (--query)软件包名称               # 检查指定包是否安装(如 rpm -q firefox)
rpm -qa  (--query all)                         # 列出所有已安装的rpm包
rpm -qa | grep 关键词                   # 搜索包含关键词的已安装包(如 rpm -qa | grep python)

查看包详细信息

rpm -qi (--query install)软件包名称         # 显示已安装包的详细信息(版本、开发者、描述等)
rpm -ql(--query ll) 软件包名称           # 列出已安装包的所有文件路径(如 rpm -ql firefox)
rpm -qc 软件包名称         # 仅列出配置文件路径
rpm -qd 软件包名称         # 仅列出文档文件路径

查询未安装的rpm包信息

rpm -qip 软件包.rpm                                            # 查看本地rpm包的详细信息(未安装时)
rpm -qlp(--query ll package) 软件包.rpm        # 列出本地rpm包中的所有文件

3.8.2.安装软件包(增)

基本语法:rpm -i [选项] 软件包名称.rpm

常用选项:

        -i(install):选项用于触发RPM包的安装流程,会将软件包中的文件、配置、依赖信息等写入系统对应目录(如/usr/bin、/etc等),并更新RPM数据库(记录已安装包信息)
        -v(verbose):显示详细安装过程
        -h(hash):以哈希符号(#)显示进度
        --force:强制安装(覆盖已安装文件或版本冲突时)
        --nodeps:忽略依赖关系(不推荐,可能导致软件无法运行)
使用前提:需指定完整的RPM包文件名(如package.rpm),且系统需满足包的依赖关系(若依赖缺失,安装会失败,可通过--nodeps临时忽略依赖,但不推荐)。

 示例:

# 安装指定rpm包并显示进度
rpm -ivh firefox-124.0-1.el9.x86_64.rpm

# 强制安装(覆盖现有文件)
rpm -ivh --force oldpackage.rpm

3.8.2.卸载软件包(删)

基本语法:rpm -e [选项] 软件包名称

常用选项:

        -e(erase):卸载指定已安装包(需提供包名,非RPM文件名)

        --nodeps:忽略依赖关系(强制卸载,可能导致其他软件异常)

注意:

卸载时需使用“软件包名称”(如 firefox),而非 .rpm 文件名。

可通过 rpm -qa | grep 关键词 查询已安装包的名称。

示例:

# 卸载firefox(可先通过rpm -q firefox确认包名)
rpm -e firefox

# 忽略依赖强制卸载(谨慎使用)
rpm -e --nodeps somepackage

3.8.3.更新软件包(改)

基本语法:

        rpm -U [选项] 软件包名称.rpm # 升级(若未安装则自动安装)

        rpm -F [选项] 软件包名称.rpm #仅升级已安装的包(若未安装则不处理)

常用选项:

同安装命令(-v、-h、--force 等)

示例:

# 升级firefox,若未安装则自动安装
rpm -Uvh firefox-125.0-1.el9.x86_64.rpm

# 仅升级已安装的包
rpm -Fvh updates/*.rpm

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐