6.2. 重要的 RPM 特性和变化

Red Hat Enterprise Linux (RHEL) 8 使用 RPM 4.14。这个版本比 RPM 4.11 提供了很多改进,具体信息包括在 RHEL 7 中。

主要特性包括:

  • debuginfo 软件包可并行安装
  • 支持弱依赖项
  • 支持丰富的或布尔值依赖项
  • 支持大小超过 4 GB 的打包文件
  • 支持文件触发器
  • 新的 --nopretrans--noposttrans 开关来分别禁用 %pretrans%posttrans 脚本的执行。
  • 新的 --noplugins 选项用来禁用载入和执行所有 RPM 插件。
  • 新的 syslog 插件,用于记录系统日志记录协议(syslog)的所有 RPM 活动。
  • rpmbuild 命令现在可以直接从源代码软件包中执行所有构建步骤。

    如果 rpmbuild 与任何 -r[abpcils] 选项一起使用,这是可能的。

  • 支持重新安装模式。

    新的 --reinstall 选项可保证这一点。要重新安装之前安装的软件包,请使用以下语法:

    rpm {--reinstall} [install-options] PACKAGE_FILE

    这个选项可确保正确安装新软件包并删除旧软件包。

  • 支持 SSD conservation 模式。

    新的 %_minimize_writes 宏可保证这一 点,该宏位于 /usr/lib/rpm/macros 文件中。宏默认设置为 0。要最小化对 SSD 磁盘的写入操作,将 %_minimize_writes 设置为 1。

  • 新的 rpm2archive 程序将 rpm 有效负载转换为 tar 归档

请参阅有关 RHEL 8 中新 RPM 功能的 更多信息。

主要变更包括:

  • 更严格的 spec-parser
  • 在非完整模式下简化签名检查输出结果
  • 改进了对可重复生成的构建(创建 一 个相同软件包的构建):

    • 设置构建时间
    • 设置文件 mtime(文件修改时间)
    • 设置构建主机
  • 使用 -p 选项来查询未安装的 PACKAGE_FILE 现在是可选的。对于这种用例, rpm 命令现在返回了一个同样的结果,或没有 -p 选项的结果。当需要 -p 选项的唯一用例是验证文件名与 rpmdb 数据库中的所有 Provides 不匹配。
  • 在宏中添加和弃用

    • %makeinstall 宏已弃用。要安装程序,使用 %make_install 宏。
  • rpmbuild --sign 命令已弃用。

    请注意,在 rpmbuild 命令中使用 --sign 选项已经被弃用。要在已经存在的软件包中添加签名,使用 rpm --addsign


为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。