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

1)RPM(Redhat Package Management)是由RedHat研发的,在Linux系统

下的系统包管理工具。

RPM包的产生目的:使包的安装和卸载过程更容易,他能够证实一个包是否已正确安

装了,能简化包的建立过程,能从原始码建立整个包,他能用于不同的体系结构。RPM系

统已成为目前Linux系统下包管理工具事实上的标准,并且他也移植到非常多商业的unix

系统之下。

RPM包组成:由包标签对他标识,包标签包含软件名,软件版本,包的发行版本几部

分。在包的内部还包含包的建立时间,包的内容描述,安装包的所有文件的大小,数字签

名以证实包的完整性等信息。RMP包还包含包内的文件信息,其中包括:每个文件的文件

名,每个文件的权限,文件的属组和拥有者,每个文件的md5校验和,文件的内容等。

RPM包名的组成:rpm包的名字都包含一个后缀“”,arch 指的是体系结

构,对于Intel平台的有i386、i586、i686等,你所安装的包必须要和机器上的共享库的

版本相匹配。如果你发现某个RPM包没有安装,你能自己安装。所有时候,你都能(必

须是root用户)安装RPM包。

RPM包管理系统提供的功能:安装新的包,卸载旧的包,将一个旧包升级为新的包,

获得已安装包的信息等。

周详讲述RPM源码包的构成:

RPM需要一系列目录完成建立的工作。正常的目录结构通常由一个顶级目录

/usr/src/redhat/和五个子目录构成。这五个子目录分别是:

SOURCES------包含原始的源文件和补丁文件。

SPECS--------包含控制RPM包建立过程的spec文件。

BUILD--------包含源码解包和软件建立的目录。

RPMS---------包含建立过程创建的二进制包文件。

SRPMS--------包含建立过程创建的源码包文件。

(在RPMS或SRPMS目录下通常还会有关于RPM包目标平台的目录。例如,i386、

i586、i686等代表和Intel兼容cpu的平台,noarch目录下的RPM包代表能在所有平台

下执行。)

SPEC文件

spec文件是整个RPM包建立过程的中心,他的作用就如同编译程式时的Makefile

文件。spec文件包含建立一个RPM包必需的信息,包括哪些文件是包的一部分及他们安

装在哪个目录下。这个文件一般分为如下的几节:

(1) Preamle(序言)

序言包含用户请求包的信息时所显示的内容。他能包含包的功能描述、包的软件版本、

版权信息和所属的包组等。Summary 是一行关于该软件包的描述,Name 是该软件包的

基名,Version 是该软件的版本号,Release 是 RPM 本身的版本号,如果修复了 spec 文

件中的一个错误并发布了该软件同一版本的新 RPM,就应该增加发行版号。License 应