4.2.2. 正文项


以下是 RPM spec 文件的 Body 部分中使用的项:

Expand
表 4.3. Body 部分项
指令定义

%description

RPM 中打包的软件的完整描述。此描述可跨越多行,并且可以分为几个段落。

%prep

准备进行构建的软件的命令或一系列命令,例如,在 Source 指令中解压缩存档。%prep 指令可以包含 shell 脚本。

%build

将软件构建成机器码(用于编译的语言)或字节码(用于某些解释语言)的命令或一系列命令。

%install

软件构建后,rpmbuild 工具用来将软件安装到 BUILDROOT 目录的命令或一系列命令。这些命令将所需的构建工件从 %_builddir 目录(构建发生的地方)复制到包含要打包的文件的目录结构的 %buildroot 目录中。这包括将文件从 ~/rpmbuild/BUILD 复制到 ~/rpmbuild/BUILDROOT,并在 ~/rpmbuild/BUILDROOT 中创建必要的目录。

%install 目录是一个空的 chroot 基础目录,类似于最终用户的 目录。您可以在此处创建包含安装文件的目录。要创建这样的目录,您可以使用 RPM 宏,而无需硬编码路径。

请注意,%install 仅在创建软件包时运行,而不是在安装它时运行。如需更多信息,请参阅 使用 spec 文件

%check

用于测试软件(如单元测试)的命令或一系列命令。

%files

RPM 软件包提供的要安装到用户的系统中的文件的列表,以及系统上它们的完整路径位置。

在构建期间,如果 %buildroot 目录中有文件没有在 %files 中列出,您将收到一条有关可能的未打包文件的警告。

%files 部分中,您可以使用内置宏指示各种文件的作用。这可用于使用 rpm 命令查询软件包文件清单元数据。例如,要指示 LICENSE 文件是一个软件许可证文件,请使用 %license 宏。

%changelog

在不同的 VersionRelease 构建之间软件包所发生的更改的记录。这些更改包括软件包的每个 Version-Release 的日期戳条目的列表。这些条目会记录打包更改,而不是软件更改,例如在 %build 部分中添加补丁或更改构建流程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部