2015-10-19 113 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