2024年5月25日发(作者:)

何为RPM?

RPM 是 Red Hat Package Manager 的缩写。由 Red Hat Linux 首先引入(显而

易见;)),现在已经被一些主要的 Linux 发行商采用,如 SuSE、Caldera、Conectiva ,

当然,还有 Mandrakesoft 。

什么是‘Package’?‘package’就是归档包(archive):其中包含了属于该应用

程序或程序库的所有文件。这有点类似于 ZIP 或 TAR 。但除了压缩功能,这个包里还有

控制脚本(control scripts)。这些脚本可以被本地的安装程序读出,执行,并存储。可以

进行安装、卸载、状态检查、依赖检查等。

管理者通过一个说明文件('specfile':specification file)来控制软件包。这个说明

文件明确了相应包中的文件将被安放到哪里,软件正确运行要依赖哪些其他程序,安装卸

载前后要执行哪些程序,是谁在什么时候建立的这个包,还有一段包内容的描述,等等。

为了有效地工作,RPM 需要记录系统都安装了哪些软件。这个资料库在

‘/var/lib/rpm’。通过这个资料库,您可以了解许多已安装的软件的信息。

section index top

RPM 能作什么?

RPM 包及其维护者能完成下面的事情:

• 编译和修补程序源代码. 这对初学者来讲特别方便。编译源码并打补丁 需要更多的

知识,although it's by no means black magic。如果觉得编译太枯燥,或者源码太多,

甚至有点难以处理,RPM 是好帮手。

• 依赖处理. 不象有些系统铁板一块(如Windows),Linux 系统可以进行不同大小的

安装,这取决于系统的用途、个人的喜好等。

• 没有必要安装所有东西,您可以选择想要的文件、程序及程序库。当您安装新程序时,

RPM 会检测您是否已安装新程序所依赖的软件。正是这种处理机制,能防止您意外删除

一些其他软件包依赖的程序。

• 提供文件的状态信息. RPM 可以告诉您某个包是否已安装。在安装新的软件包前,

您可以进行整合性检查,安装后可以瞧瞧是否正确安装。您还可以查看某个包是什么时候

安装的,占了多大空间,包含哪些文档和配置文件,软件包维护者最近做了哪些改动,等

等。

• 安全检查. RPM 提供了对软件进行 PGP 或 GPG 签名 的机制,这样可以保证软件

包没有被篡改。

• 自动化. RPM 能在许多脚本中用作自动维护的任务。而且还是一些很好的 RPM 图

形工具,一些扩展如‘rpmfind’,及 Mandrake Linux 自己的‘urpmi’系统的基础。

• 绿色卸载. 要卸载某 RPM 包,只需一个命令。该命令将删除 RPM 包,但保留一

些改动过的文件(主要是一些配置文件和 spool 文件)。

• 保护配置文件. 软件包的维护者能选择如何处理旧版软件的配置文件。要么保留旧文

件,将新版软件中的创建为‘rpmnew’文件;要么告诉 RPM 将旧的配置文件重命名为