我必须安装一个包(我们称之为富巴)在 RHEL 6 服务器上,它有一些非常严格的约束:
- 由于安全原因,服务器无法访问互联网
- 它缺少很多软件包,例如缺少 C 编译器
- 要安装的 foobar 不是最新版本而是以前的版本
最大的问题是解决依赖关系。由于第 3 点,我不能简单地yumdownloader --resolve foobar-3.1.3-1
在连接互联网的计算机上运行来获取 RPM,将它们传输到服务器,然后进行本地安装:据我所知,它yum
仅适用于最新的软件包版本。
另外,由于第 2 点,获取 foobar 包的代码源并编译它不是一个选项。
答案1
由于答案可能会引起其他人的兴趣,以下是我在放松约束 #3 后解决问题的方法。
我在另一台机器上进行了 RHEL 6 的最小安装。然后我通过模拟安装 foobar yum
,获取依赖项列表,并编写一个脚本来yumdownloader
获取所有包。最后,我将 RPM 打包到本地存储库中并将其传输到服务器。之后剩下要做的就是yum install foobar
在服务器上运行。