如何使用 yum 包管理器分发我的商业应用程序?

如何使用 yum 包管理器分发我的商业应用程序?

我想在 redhat/fedora/centos 系统上使用 yum 分发我的商业应用程序(为了易于使用和易于更新)。

用户仍然必须购买帐户才能使用该应用程序(通过用户名/密码登录系统),但应用程序本身可以免费下载 - 尽管它以二进制、闭源形式分发。

百胜是正确的选择吗?如果是这样 - 最好在我的服务器上设置一个远程存储库来托管 yum 包吗?我在网上找不到太多关于如何设置私有远程 yum 存储库的信息。如果这是我应该使用的方法,有人有任何资源可以做到这一点吗?

谢谢

答案1

  1. 创建您的(二进制)RPM 包,并且不要忘记使用您的 GPG 密钥对它们进行签名。

  2. 创建 yum 存储库布局和元数据文件,例如createrepo命令/工具。
    建议:在创建存储库后通过运行以下命令对存储库进行签名:

    gpg --detach-sign --armor repodata/repomd.xml 
    

    这将repomd.xml.asc在 repodata 目录中创建一个文件,对于现代版本的 yum,这将允许 yum 验证存储库元数据是否来自 gpg 密钥的所有者。

  3. 将生成的存储库目录布局发布到您的合适的子域上,例如,https://repo.example.com/yum/.....
    当您为不同的发行版、主要版本、CPU 架构等创建不同的二进制 RPM 包时,请考虑具有多个存储库的更复杂的目录布局。

  4. 将您的 ASCII 装甲公共 GPG 密钥发布到合适的位置,例如https://repo.example.com/publickeys/example-appp-rpm-signing-key.asc

  5. 在您的应用程序的安装说明中,指示人们添加存储库文件 /etc/yum.repos.d/example-app.repo:

    [example-app]
    name=Example App
    baseurl=https://repo.example.com/yum/.....
    gpgcheck=1
    enabled=1
    gpgkey=https://repo.example.com/publickeys/example-appp-rpm-signing-key.asc
    
  6. 将您的公共签名密钥添加到 RPM 密钥环[sudo] rpm --import ttps://repo.example.com/publickeys/example-appp-rpm-signing-key.asc


或者 ;提供结合步骤 5 和 6 的 RPM 包;类似于 EPEL 分发发布包的方式:https://docs.fedoraproject.org/en-US/epel/

相关内容