离线安装并解决旧版本包的依赖关系

离线安装并解决旧版本包的依赖关系

我必须安装一个包(我们称之为富巴)在 RHEL 6 服务器上,它有一些非常严格的约束:

  1. 由于安全原因,服务器无法访问互联网
  2. 它缺少很多软件包,例如缺少 C 编译器
  3. 要安装的 foobar 不是最新版本而是以前的版本

最大的问题是解决依赖关系。由于第 3 点,我不能简单地yumdownloader --resolve foobar-3.1.3-1在连接互联网的计算机上运行来获取 RPM,将它们传输到服务器,然后进行本地安装:据我所知,它yum仅适用于最新的软件包版本。

另外,由于第 2 点,获取 foobar 包的代码源并编译它不是一个选项。

答案1

由于答案可能会引起其他人的兴趣,以下是我在放松约束 #3 后解决问题的方法。

我在另一台机器上进行了 RHEL 6 的最小安装。然后我通过模拟安装 foobar yum,获取依赖项列表,并编写一个脚本来yumdownloader获取所有包。最后,我将 RPM 打包到本地存储库中并将其传输到服务器。之后剩下要做的就是yum install foobar在服务器上运行。

相关内容