当Linux上没有互联网访问权限时,如何获取包依赖树以供离线下载

当Linux上没有互联网访问权限时,如何获取包依赖树以供离线下载

亲爱的大家,我必须为客户在无法访问互联网的 Red Hat Linux 系统上安装一些软件。假设我需要安装 Python 2.7 或其他类型的打包软件,通常可以通过“yum install python27”或其他类型的包管理器获得。

虽然此类软件包可能依赖于其他软件包等,但在不使用 Linux 机器的情况下如何获取依赖项列表?即 Windows 上存在一些网页甚至工具,允许对给定的 Linux 操作系统和版本(即 Red Hat Enterprise 6.7.1)进行此类分析或查询?

谢谢

问候马克

答案1

这些信息来自我前段时间写的一篇博文。

首先,创建一个虚拟机并在其上全新安装相同的 RHEL 版本。确保执行最小化安装,以便计算机上安装的软件包保持为计算机运行所需的最低限度。

然后,在机器上运行以下命令:

[vm]# mkdir /root/tmppkg
[vm]# yum --downloadonly --downloaddir=/root/tmppkg install foobar

Yum 将递归下载 Foobar 及其所有依赖项,并将 RPM 存储在上述目录中。

从 Yum 下载的一堆软件包创建一个存储库。

[vm]# chown -R root:root /root/tmppkg
[vm]# createrepo /root/tmppkg
[vm]# chmod -R 755 /root/tmppkg

tmppkg服务器上的目录(通过U盘或CD-ROM)传输到该/share目录中。然后创建一个文件/etc/yum.repos.d/local.repo,如下所示:

[local]
name=Local repository
baseurl=file:///share/tmppkg
enabled=1
gpgcheck=0
protect=1

现在您可以按照通常的方式在服务器上安装 Foobar 包。包管理器将从新创建的本地存储库中获取所有必要的内容:

[server]# yum install foobar

安装该软件包后,/share/tmppkg可以安全地删除该目录。

相关内容