可以将为较低操作系统版本构建的 RPM 安装到较高操作系统版本上吗?

Gna*_*nam 1 installation redhat centos rpm centos5

我们的生产服务器在 CentOS 5.2 版(最终版)上运行sqlite-3.3.6-2

我们计划将 SQLite 升级到最新的 v3.7.3(至少 v3.5+)。但是在SQLite网站上没有可用的 RPM ,也无法从谷歌搜索中找到。

但是我在这里找到了适用于 RHEL3 的 v3.5+ RPM 。由于我们运行的是 CentOS5 64 位,

  1. 在 CentOS5 64 位服务器上安装 RHEL3 64 位 RPM 包可以吗?
  2. 万一,如果可以安装,会有什么影响/副作用吗?

一般来说,我们可以在较高版本的操作系统(例如:RHEL5)上安装为较低版本的操作系统(例如:RHEL3)构建的 RPM 吗?

Mad*_*ter 5

我的一般经验的答案是“如果它有效”。RPM 内置了相关性检查;他们知道是否需要特定版本的 glibc、php、mysql、foo、bar 或 baz。如果你做一个

rpm -ivh fribble-4.5.6-el3.i386.rpm
Run Code Online (Sandbox Code Playgroud)

它运行到完成,你可能没问题(尽管测试它)。如果相反,它说

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
Run Code Online (Sandbox Code Playgroud)

这是 RH 告诉您不,它不会起作用的方式。你当然可以用 覆盖它--nodeps,但如果你这样做,你会很痛苦,所以不要;而是找到一个最新的 RPM。