如何减小转速的大小?

时间:2015-10-19 05:01:43

标签: rpm rpmbuild rpm-spec

我正在创建一个rpm,它会在安装时将一些文件分散到不同/特定位置。我面临的问题是rpm的大小,接近1.5 GB。有没有办法可以将我的文件放在aws s3中并在rpm安装期间下载。截至目前,我将所有文件都包含在SOURCE目录中。

感谢任何帮助。

感谢。 Balasekhar Nelli

2 个答案:

答案 0 :(得分:1)

您可以使用增量生成yum / dnf存储库:

createrepo_c --deltas

它将针对旧的rpm文件创建二进制差异。它对初始下载没有帮助,但它会加快升级速度。

不要忘记进入yum.conf

deltarpm=2

请参阅man yum.conf了解此值的含义。

您还可以在构建rpm时更改压缩参数。看到这个答案: rpmbuild change compression format

答案 1 :(得分:0)

对于那些数据量,将它放在rpm中,甚至不是100个(例如mypgm-data-1.rpm,mypgm-data-2.rpm,... )。就个人而言,当我看到一些程序在运行yum时将foobar-langpack-1.rpm更新为foobar-langpack-300.rpm时,我讨厌

考虑使用rsync [隧道通过http?]代替AWS。它非常适合这项工作。

你为什么“散布他们”???你为什么不把它们放在/ home / mypgm或/ usr / share / mypgm?

rpm安装应该很快。你可以让rpm帖子做rsync,但是在用户第一次运行程序和/或配置之前我不会这样做。它会问:“启用自动/后台数据更新?”

为用户提供选择。当程序运行时,它可以检测到需要从AWS刷新本地数据并[再次]提示用户:“我需要在运行之前更新程序数据。现在就做吗?需要X分钟”

对于这么大的内容,请让用户选择更新策略。例如,在Android上,您可以选择“仅通过wifi更新”。