我正在创建一个rpm,它将分散安装中不同/特定位置的一些文件。我面临的问题是转速的大小,接近1.5 GB。有没有一种方法可以将我的文件放在aws s3中并在rpm安装过程中下载。截至目前,我将所有文件都包含在SOURCE目录中。如何减小转速的大小?
任何帮助表示赞赏。
谢谢。 Balasekhar Nelli
我正在创建一个rpm,它将分散安装中不同/特定位置的一些文件。我面临的问题是转速的大小,接近1.5 GB。有没有一种方法可以将我的文件放在aws s3中并在rpm安装过程中下载。截至目前,我将所有文件都包含在SOURCE目录中。如何减小转速的大小?
任何帮助表示赞赏。
谢谢。 Balasekhar Nelli
对于数据的量,做不把它放在一个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更新”。
您可以用增量产生百胜/ DNF库:
createrepo_c --deltas
它将创建迎战老rpm文件的二进制差异。它不会帮助你初次下载,但它会加速升级。
不要忘记yum.conf
deltarpm=2
见人的yum.conf有什么这个价值的手段。
您还可以在构建rpm时更改压缩参数。看到这个答案: rpmbuild change compression format
你可能有更好的运气在serverfault.com或http://unix.stackexchange.com/ – zedfoxus