Centos

可以將為較低作業系統版本建構的 RPM 安裝到較高作業系統版本上嗎?

  • November 9, 2010

我們的生產伺服器在 CentOS 版本 5.2(最終版)上執行sqlite-3.3.6-2 。

我們計劃將 SQLite 升級到最新的 v3.7.3(至少 v3.5+)。但是SQLite網站上沒有可用的 RPM,也無法從Google搜尋中找到一個。

但我在這裡找到了適用於 RHEL3 的 v3.5+ RPM 。由於我們執行的是 CentOS5 64 位,

  1. 在 CentOS5 64 位伺服器上安裝 RHEL3 64 位 RPM 包可以嗎?
  2. 如果可以安裝,是否會有任何影響/副作用?

一般來說,我們可以在較高版本的作業系統(例如:RHEL5)上安裝為較低版本的作業系統(例如:RHEL3)建構的 RPM 嗎?

我的一般經驗的答案是“如果它有效”。RPM 內置了依賴檢查;他們知道他們是否需要特定版本的 glibc、php、mysql、foo、bar 或 baz。如果你做一個

rpm -ivh fribble-4.5.6-el3.i386.rpm

它執行到完成,你可能沒問題(儘管測試它)。如果相反,它說

error: Failed dependencies:
   libgwenhywfar.so.38 is needed by fribble-4.5.6-el3.i386.rpm
   libofx.so.3 is needed by fribble-4.5.6-el3.i386.rpm
   python(abi) = 2.4 is needed by fribble-4.5.6-el3.i386.rpm

那是 RH 告訴你不,它不會起作用的方式。你當然可以用 覆蓋它--nodeps,但如果你這樣做會很痛苦,所以不要;而是找到最新的 RPM。

引用自:https://serverfault.com/questions/199801