5.6. 检查 RPM 是否有常见错误


创建软件包后,您可能想要检查软件包的质量。检查软件包质量的主要工具是 rpmlint

使用 rpmlint 工具,您可以执行以下操作:

  • 提高 RPM 可维护性。
  • 通过执行对 RPM 的静态分析来启用内容验证。
  • 通过执行对 RPM 的静态分析来启用错误检查。

您可以使用 rpmlint 检查二进制 RPM、源 RPM (SRPM)和 spec 文件。因此,这个工具对打包的所有阶段都很有用。

请注意,rpmlint 有严格的准则。因此,有时跳过一些错误和警告是可以接受的,如以下部分中所示。

注意

在以下部分中描述的示例中,rpmlint 会不带任何选项运行,这会产生一个非详细的输出。有关每个错误或警告的详细说明,请运行 rpmlint -i

5.6.1. 检查 Bash 程序示例是否有常见错误

在以下部分中,调查在检查 bello spec 文件、bello SRPM 和 bello 二进制 RPM 示例中可能出现的警告和错误。

5.6.1.1. 检查 bello spec 文件是否有常见错误

检查以下示例的输出,以了解如何检查 bello spec 文件是否有常见错误。

bello spec 文件运行 rpmlint 命令的输出

$ rpmlint bello.spec
bello.spec: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.

对于 bello.spec,只有一个 invalid-url Source0 警告。这个警告表示 Source0 指令中列出的 URL 不可访问。这是正常的,因为指定的 example.com URL 不存在。假设此 URL 在以后将有效,您可以忽略此警告。

5.6.1.2. 检查 bello SRPM 是否有常见错误

检查以下示例的输出,以了解如何检查 bello 源 RPM (SRPM)是否有常见错误。

bello SRPM 运行 rpmlint 命令的输出

$ rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el9.src.rpm
bello.src: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.src: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

对于 bello SRPM,有 invalid-url URL 警告,表示 URL 指令中指定的 URL 不可访问。假设此 URL 在以后将有效,您可以忽略此警告。

5.6.1.3. 检查 bello 二进制 RPM 是否有常见错误

在检查二进制 RPM 时,rpmlint 命令会检查以下项目:

  • Documentation
  • man page
  • 致地使用文件系统层次结构标准

检查以下示例的输出,以了解如何检查 bello 二进制 RPM 是否有常见错误。

bello 二进制 RPM 运行 rpmlint 命令的输出

$ rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el9.noarch.rpm
bello.noarch: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.noarch: W: no-documentation
bello.noarch: W: no-manual-page-for-binary bello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

no-documentationno-manual-page-for-binary 警告意味着 RPM 没有文档或手册页,因为您没有提供。除了输出警告,RPM 通过了 rpmlint 检查。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部