2011-04-15 45 views
3

什麼是「正確」的方式來設計RPM,以便可以通過YUM/RPM並排安裝多個版本而不會彼此跺腳?對於圖書館來說,正確的答案似乎與sonames有關,儘管我找不到關於sonames,符號鏈接和RPM如何相互交互的任何好消息。我不知道如何命名/放置可執行文件和普通文件以便並排放置。就可執行文件而言,似乎正確的行爲是在PATH上安裝新版本,但如果卸載較新的RPM,則應在PATH上安裝舊版本。並排RPM版本

回答

3

從本質上講,你需要確保該版本不衝突:

  • 要求/衝突的部分不得有相互衝突的要求
  • 每個文件名必須只在一個版本存在的 - 除非它們是相同的
  • Scriptlets(%post ect)如果你有他們必須合作

請注意,你將無法安裝多個版本的yum,因爲yum被設計爲一次安裝一個版本 - 內核除外。如果您使用yum安裝/更新軟件包,所有舊版本都將被刪除。因此,您需要爲每個版本使用rpm -i。

關於路徑中有更多近期的二進制文件,無法正確執行。你或者需要做一些類似python的事情,用戶必須在命令行上指定python或python3,或者你必須在所需的二進制文件路徑上創建符號鏈接。這必須在腳本中完成,管理它是一項相當大的挑戰。這也意味着符號鏈接不會被任何包所擁有。

+0

所以不幸的是,答案似乎不能以任何有用的方式完成。 :-( – tgoodhart 2011-05-24 14:34:11