Linux网络操作系统项目教程(RHEL 7.4/CentOS 7.4)(第3版)(微课版)
上QQ阅读APP看书,第一时间看更新

1.7 任务7 yum软件仓库

尽管RPM能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。

RHEL先将发布的软件存放到yum服务器内,再分析这些软件的依赖属性问题,将软件内的记录信息写下来(header),然后将这些信息分析后记录成软件相关性的清单列表。这些列表数据与软件所在的位置可以叫容器(repository)。当用户端有软件安装的需求时,用户端主机会主动地向网络上面的yum服务器的容器网址下载清单列表,然后通过清单列表的数据与本机RPM数据库已存在的软件数据相比较,就能够一次性安装所有需要的具有依赖属性的软件了。整个流程如图1-45所示。

图1-45 yum使用的流程示意图

当用户端有升级、安装的需求时,yum会向容器要求清单的更新,使清单更新到本机的/var/cache/yum里面。当用户端实施更新、安装时,就会用本机清单与本机的RPM数据库进行比较,这样就知道该下载什么软件了。接下来yum会到容器服务器(yum server)下载所需要的软件,然后再通过RPM的机制开始安装软件。这就是整个流程,但仍然离不开RPM。常见的yum命令如表1-3所示。

表1-3 常见的yum命令