在 RPM(红帽软件包管理器)公布之前,要想在 Linux 系统中安装软件只能采取源码包
的方式安装。早期在 Linux 系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数
的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此
要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在
安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、
卸载、查询、升级等管理软件操作时难度都非常大。
RPM 机制则为解决这些问题而设计的。RPM 有点像 Windows 系统中的控制面板,会建
立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前 RPM 的优势已经被
公众所认可,使用范围也已不局限在红帽系统中了。
尽管 RPM 能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,
而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。
Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以
根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安
装到系统。