Linux操作系统中如何将默认自带的yum源更换为公有源(目前亲测有效)及如何使用yum及rpm包管理工具?
目录
3.2.选择yum源(注意:Centos7版本在2024年官方已停止维护,同步下面的yum源也可能也同步停止维护,可直接尝试3.3.修改yum源)
一、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
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)