8.2.1 什么是RPM
RPM是RedHat Package Manager的简写,顾名思义是红帽软件包管理器的意思。RPM通过一套本地数据库提供了一种更简单的软件安装管理方式,从而使得不管是安装、升级还是卸载都较源码包安装更智能。比如说在初次安装某软件的时候会提醒我们需要预先安装其他什么软件,升级的时候也会智能地保存原先的配置文件,而在卸载的时候则能视情况保留重要的数据文件等。由于Linux中一切皆文件,所以说白了,RMP其实是一种集成了文件管理和软件版本控制的工具。
RPM分为两类,第一类是二进制安装包(也就是预编译包)。事实上,如果将编译好的软件复制到相同软件环境(内核版本一致、软硬件运行环境一致)的服务器中,只要软件在原编译机中能运行,那么在新主机中也同样可以运行。而RPM采用的就是类似的方式,在特定的kernel版本下预先编译好软件(编译时使用了大多数常见的编译参数),并将所需要的文件(二进制程序、模块、配置文件等)整体打包,在新主机中安装该RPM包时,再将文件解压并复制到特定的目录中去。第二类是RPM源码包,当希望自定义编译参数,自行制作二进制安装包的时候使用。