6. 始终为您的软件提供 RPM 包

这出于很多原因极其重要

  1. 易用性。这始终是最根本的动机。

  2. 自动化某些在软件安装前后必须完成的任务。再次提升易用性。

  3. 智能地管理配置文件、文档等,在升级时提供更多控制。

  4. 管理与其他软件包和版本之间的依赖关系,保证良好的功能。

  5. 允许您使用公司的数字签名分发软件,并对每个文件进行完整性检查 (MD5),保证来源可靠性,并报告不必要的文件修改。

  6. 提供工具以便与您的图形安装程序交互。

但是,一个好的软件包不仅仅是将文件放在 RPM 中。FHS 必须被遵循,配置文件和文档文件必须按原样标记,并且安装前和安装后脚本必须是健壮的,以避免它们损坏系统(记住安装过程由 root 用户完成)。

充分了解 RPM,因为它能为您和您的用户带来强大的功能和便利。互联网上有大量关于 RPM 的文档。

6.1. 软件包模块化

您应该给用户选择仅安装他们需要的软件部分的选项。 假设您的软件有客户端部分和服务器部分,并且两者都使用通用的文件和库。 您应该将它们拆分成 3 个 RPM 包。 例如,假设您的产品名称是 MyDB,那么您将提供以下软件包

  1. MyDB-common-1.0-3.i386.rpm

  2. MyDB-server-1.0-3.i386.rpm

  3. MyDB-client-1.0-3.i386.rpm

最后 2 个软件包依赖于第一个。 如果用户正在安装客户端配置文件,他将使用

  1. MyDB-common-1.0-3.i386.rpm

  2. MyDB-client-1.0-3.i386.rpm

如果他正在安装服务器配置文件

  1. MyDB-common-1.0-3.i386.rpm

  2. MyDB-server-1.0-3.i386.rpm

这种方法将帮助用户节省磁盘空间,并了解您的软件是如何组织的。