亲爱的大家,我必须为客户在无法访问互联网的 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
可以安全地删除该目录。