(一)yum的工作原理:每个rpm软件包都有一个包头header,header中有该软件的依赖关系,如果可以将该头的内容记录下来,并进行分析,就可以知道每个软件安装前需要额外安装哪些依赖软件了,并将其所有依赖软件包放yum服务器备用。 Yum 是一个强大的命令行工具,可用于更加灵活的管理(安装,更新,删除,查询)软件包。
(二)yum的工作过程:RHEL先将发布的软件存放到yum服务器内,再分析这些软件的依赖属性问题,将软件内的记录信息写下来(header),然后将这些信息分析后记录成软件相关性的清单列表。这些列表数据与软件所在的位置可以叫容器(repository)。当用户端有软件安装的需求时,用户端主机会主动地向网络上面的yum服务器的容器网址下载清单列表,然后通过清单列表的数据与本机RPM数据库已存在的软件数据相比较,就能够一次性安装所有需要的具有依赖属性的软件了。
当用户端有升级、安装的需求时,yum会向容器要求清单的更新,使清单更新到本机的/var/cache/yum里面。当用户端实施更新、安装时,就会用本机清单与本机的RPM数据库进行比较,这样就知道该下载什么软件了。接下来yum会到容器服务器(yum server)下载所需要的软件,然后再通过RPM的机制开始安装软件。这就是整个流程,但仍然离不开RPM。
常见的yum命令如表1-3所示。
命 令 | 作 用 |
yum repolist all | 列出所有仓库 |
yum list all | 列出仓库中所有软件包 |
yum info软件包名称 | 查看软件包信息 |
yum install软件包名称 | 安装软件包 |
yum reinstall软件包名称 | 重新安装软件包 |
yum update软件包名称 | 升级软件包 |
yum remove软件包名称 | 移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall软件包组 | 安装指定的软件包组 |
yum groupremove软件包组 | 移除指定的软件包组 |
yum groupinfo软件包组 | 查询指定的软件包组信息 |