2015-10-19 69 views
0

我正在创建一个rpm,它将分散安装中不同/特定位置的一些文件。我面临的问题是转速的大小,接近1.5 GB。有没有一种方法可以将我的文件放在aws s3中并在rpm安装过程中下载。截至目前,我将所有文件都包含在SOURCE目录中。如何减小转速的大小?

任何帮助表示赞赏。

谢谢。 Balasekhar Nelli

+0

你可能有更好的运气在serverfault.com或http://unix.stackexchange.com/ – zedfoxus

回答

0

对于数据的量,做把它放在一个RPM,甚至没有他们的100(例如mypgm数据-1.rpm,mypgm数据-2.rpm,...) 。就我个人而言,我讨厌它当我看到一些程序更新foobar-langpack-1.rpm foobar-langpack-300.rpm当我运行百胜。

请考虑使用rsync [通过http隧道?]而不是AWS。这是完美的工作。

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

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

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

对于这个庞大的东西,给用户一个关于更新政策的选择。例如,在Android上,您可以选择“仅通过wifi更新”。

1

您可以用增量产生百胜/ DNF库:

createrepo_c --deltas 

它将创建迎战老rpm文件的二进制差异。它不会帮助你初次下载,但它会加速升级。

不要忘记yum.conf

deltarpm=2 

见人的yum.conf有什么这个价值的手段。

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