当谈到Yum(Yellowdog Updater Modified)原理时,以下是一些重点总结:
1. 软件仓库:Yum的核心原理是基于软件仓库的概念。软件仓库是一个存储软件包和其相关信息的集合,Yum使用这些仓库来管理软件包的安装、升级和删除。
2. 元数据:Yum使用元数据来描述软件仓库中的软件包信息。元数据包括软件包的名称、版本、依赖关系、描述等内容。Yum会在初始配置或者手动更新时下载和更新这些元数据。
3. 依赖解析:Yum通过依赖解析来确定软件包安装或升级所需的其他软件包。当用户要求安装或升级一个软件包时,Yum会检查该软件包的依赖关系,并自动解析并安装或升级这些依赖包。
4. 事务管理:Yum使用事务来管理软件包的安装、升级和删除操作。事务是一个包含多个操作的集合,可以一次性执行多个操作,或者在执行前进行预览和确认。
5. 存储库配置:Yum使用存储库配置文件来定义软件仓库的位置和相关设置。这些配置文件可以手动编辑,也可以通过命令行工具进行管理。存储库配置文件通常包含存储库的基本信息、镜像站点、GPG密钥等。
6. 缓存管理:Yum使用缓存来加快软件包的安装和升级速度。当首次下载软件包时,Yum会将其保存到本地缓存中。下次需要安装或升级相同软件包时,Yum会直接从缓存中获取,而不是重新下载。
7. 插件机制:Yum提供插件机制来扩展其功能和定制化。通过插件,可以实现诸如速度优化、仓库管理、软件包验证等功能。
原理
包括YUM服务器和客户端两个部分:
yum的工作需要两部分来合作,一部分是yum服务器,还有就是client的yum工具。下面分别介绍两部分工作原理。
- yum服务器是存放发行的RPM包的服务器,提供下载服务。
- 客户端通过解析配置文件指定的yum源来获取和安装RPM包。
- yum服务器整理RPM包的基本信息并生成描述文件。
- 客户端定期更新服务器上的描述文件,并根据描述文件确定要下载的包进行安装。
- 可以删除不再需要的RPM包以释放空间
YUM服务器
Linux客户端
流程
功能
1 查询
# yum search raid //搜索某个软件名称或者描述的重要关键字
# yum info mdadm //列出软件功能
# yum list //列出yum服务器上面所有的软件名称
# yum list pam* //找出以pam开头的软件名称
# yum list updates //列出yum服务器上可提供本机进行升级的软件
2 安装/升级
# yum install/update 软件名称
# yum install 软件名称 -y //安装过程中免输入y确认
3 删除
# yum remove 软件名称
4 软件组功能
# yum grouplist //查看容器和本机上可用与安装过的软件组
# yum groupinfo group_name //查看group内所有组名称
# yum install/remove group_name //安装与删除
全系统升级
yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
已经上线的用yum -y upgrade 比较稳
全新的用yum -y update 会更好