首先,是的,这可能是令人讨厌的东西并且打破了所有使用rpm包装处理的规则...我知道......但是我已经解决了以下情况:
我们的应用程序能够通过一种机制远程更新文件,其中只有已更改的文件通过网络传输。由于带宽限制,需要仅传输所需文件而不是整个包的能力,并且因为数百个安装可能会更新。传输的数据量非常相关,应尽可能小。
现在,我们要推出RPM套餐。有一个包含" Base"使用update-service进行安装。还有一个包含其他所有内容的包,应由更新服务进行更新。我们称之为" Runtime"。 此外,还需要能够通过命令行工具(" rpm -U"等)进行正常升级。
所以我们有两个包:
此外,升级可以通过以下方式进行:
我强迫的解决方案是创建两个版本的Runtime包。一个用于服务,一个用于"正常"转:
service-rpm根本不包含文件 - 它们由服务复制。仅需要此RPM来跟踪包管理中的版本并由升级服务安装。
另一个"正常" RPM有一个zip,其中包含由安装后脚本提取的所有文件。
原因是,如果我只是将所有文件包含在"正常" RPM,包管理跟踪它们,并且在使用"升级版本" -RPM升级时将删除所有文件,因为它们不再包括在内。
实际上,正在进行" zipping-trick"看起来真的很难看,我想知道是否还有其他可能性
解决这个问题的任何想法(或实现我的解决方案之一)?