RPM:外部更新文件和"假" RPM-升级

时间:2015-07-02 12:22:55

标签: rpm

首先,是的,这可能是令人讨厌的东西并且打破了所有使用rpm包装处理的规则...我知道......但是我已经解决了以下情况:

我们的应用程序能够通过一种机制远程更新文件,其中只有已更改的文件通过网络传输。由于带宽限制,需要仅传输所需文件而不是整个包的能力,并且因为数百个安装可能会更新。传输的数据量非常相关,应尽可能小。

现在,我们要推出RPM套餐。有一个包含" Base"使用update-service进行安装。还有一个包含其他所有内容的包,应由更新服务进行更新。我们称之为" Runtime"。 此外,还需要能够通过命令行工具(" rpm -U"等)进行正常升级。

所以我们有两个包:

  • 基础套餐(能够升级"运行时"套餐)
  • 运行时包(可由更新服务和命令行升级)

此外,升级可以通过以下方式进行:

  • 升级服务(基础包的一部分)
  • rpm -U

我强迫的解决方案是创建两个版本的Runtime包。一个用于服务,一个用于"正常"转:

service-rpm根本不包含文件 - 它们由服务复制。仅需要此RPM来跟踪包管理中的版本并由升级服务安装。

另一个"正常" RPM有一个zip,其中包含由安装后脚本提取的所有文件。

原因是,如果我只是将所有文件包含在"正常" RPM,包管理跟踪它们,并且在使用"升级版本" -RPM升级时将删除所有文件,因为它们不再包括在内。

实际上,正在进行" zipping-trick"看起来真的很难看,我想知道是否还有其他可能性

  • 阻止升级删除更新的文件
  • 或入侵软件包管理以告知正确的版本
  • 并且可能跟踪远程更新的文件

解决这个问题的任何想法(或实现我的解决方案之一)?

0 个答案:

没有答案