一、yum 简介
Linux系统安装软件的方式一般分为三种:
第一种:源码包,需要程序员自行编译安装。
优点:开源,可以实现自定义可裁剪安装软件;软件是编译安装,更加稳定,卸载方便
缺点:安装过程繁琐,如果是大型项目软件很容易出错
第二种:rpm(Redhat Package Manager)工具。rpm原是Red Hat Linux发行版专门用来管理Linux的程序工具,遵循GPL规则且功能强大,因而深受喜爱。
优点:包管理变得简单,通过几个命令就可以实现安装,卸载和更新软件
缺点:无法解决依赖性问题,比如复杂一点的软件包依赖于别的软件包才能安装,而别的软件包又以来于另外的软件包。非常的麻烦
第三种:yum(Yellow dogUpdater Modified)工具。yum是一款在RedHat,Fedora以及CentOS中的Shell前端软件管理器。
说明:
1. yum软件仓库的产生,就是为了解决软件包之间的依赖关系,最大的优点就是帮助Linux用户降低软件安装要求;
2.yum的宗旨就是自动化地升级,安装和移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。
3.yum包含rpm的header部(包含软件描述信息,功能信息,提供的文件信息以及依赖信息),yum会收集这些header部并且分析,所以才自动的处理rpm软件包之间的依赖关系。
二、yum源核心文件
yum信息存储目录:/etc/yum.repo.d/
[root@centos01 ~]# ll /etc/yum.repos.d/
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo #
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
*.repo文件定义了一个或多个软件仓库的细节内容,比如从哪里下载以及升级的软件包,repo文件会被yum读取
[root@centos01 ~]# cat /etc/yum.repos.d/CentOS-Base.repo
[base] # yum ID,基础镜像源
name=CentOS-$releasever - Base # 具体的yum源名称
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra # 镜像服务器的地址列表,可以包含多个地址
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ # 镜像服务器的地址
gpgcheck=1 # 是否需要验证,0表示取消验证,1表示使用公钥检验rpm的正确性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # gpgcheck验证的公钥,只有gpgcheck=1时对下载的rpm会进行gpg的校验,密钥时gpgkey
yum源配置文件:/etc/yum.conf
[root@centos01 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever # yum下载的RPM包的缓存目录
keepcache=0 # 缓存示符保存,1保存,0不保存
debuglevel=2 # 调试级别(0-10),默认为2
logfile=/var/log/yum.log # yum的日志文件所在的位置
exactarch=1 # 更新的时候,是否运行更新不同版本的RPM包
obsoletes=1 # 是否运行更新陈旧的RPM包
gpgcheck=1 # 是否检查密钥的签名
plugins=1 # 是否运行使用插件
installonly_limit=5 # 运行保留多少个内核包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release # bug追踪镜像源地址
三、如何优化yum基础镜像源(以阿里云为例)
第一步:打开阿里镜像源网站
https://developer.aliyun.com/mirror/
第二步:选择CentOS
第三步:配置方法(2.下载最新的Centos-Base.repo)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
四、如何优化yum扩展镜像源(主要是跟Base镜像源进行互补,解决软件不够丰富的问题)
第一步:打开阿里镜像源网站
https://developer.aliyun.com/mirror/
第二步:选择EPEL
第三步:选择扩展源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
五、yum源常用命令 yum --help
1. 软件安装 yum install -y
2. 软件更新 yum update
3. 软件检查 yum list
4. 软件卸载 yum remove(强烈不建议使用)
5. 清除缓存 yum clean
6. 检查某个软件是哪个大礼包提供的? yum provides
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)