问题描述
我的公司销售一种软件产品,该产品打算供(大型)企业客户使用。这些客户通常使用RedHat操作系统(RHEL 7 \ 8)。
这些客户通常具有严格的安全策略,例如防火墙规则,禁止他们从“未经确认”的源下载任何内容。让他们改变这些规则中的任何内容是***的真正痛苦(曾经与企业合作的任何人都知道我在说什么)。
因此,我的目标是以某种众所周知且广为接受的方式分发软件,这将在客户公司的IT / INFOSEC部门中产生最小的吸引力。
我当时想的第一步是将我的软件打包为RPM软件包。但是,我不清楚在何处(以及如何)上传该软件包,因此它对于企业RedHat用户将变为“本地”可用。
向RedHat企业客户分发软件的“本机”方式是什么?
解决方法
您可以查看以下其中一项:
-
创建一个YUM / DNF存储库(可能是私有存储库),他们可以连接到该存储库并通过该存储库发送rpm(这是将软件运送给用户的最常见方式)
-
给他们指示,以设置他们自己的本地YUM / DNF存储库,他们可以向存储库添加任何RPM(由您提供)。
-
创建已签名的RPM,并将其直接发送给客户。他们将必须确认您的gpg密钥是受信任的,并且他们可以验证RPM未被修改。在这里,他们将直接使用
rpm
命令来安装软件包,而不是通过yum完成 -
只需为其提供简单的RPM和这些软件包的md5sum,以便他们可以手动验证您提供给他们的RPM未被篡改
从存储库中安装RPM会自动处理安装/升级依赖关系,但是如果您发布“原始” RPM,则客户将必须手动安装依赖关系。