离线版本的 yum install

离线版本的 yum install

我已经在我的虚拟机上使用 yum 安装了相当多的软件。

我想知道是否有办法获取离线安装的rpm和依赖项rpm。

这是因为出于安全原因,我要执行安装的服务器无法访问互联网。

无论如何我也可以指定要下载的rpm 吗?

答案1

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

您可以让 yum 获取 VM 上的所有包及其依赖项,然后从中创建一个存储库,然后您的服务器将使用该存储库。

请注意,VM 应该只具有运行所需的最少软件包;由于您不知道服务器上安装了什么,因此您希望 yum 下载尽可能多的依赖项。

在虚拟机上:

# mkdir /root/tmppkg
# yum --downloadonly --downloaddir=/root/tmppkg install <packages>
# chown -R root:root /root/tmppkg
# createrepo /root/tmppkg
# chmod -R 755 /root/tmppkg

传输tmppkg服务器上的目录,假设在/opt.然后/etc/yum.repos.d/local.repo在服务器上创建一个文件,如下所示:

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

现在在服务器上运行:

# yum install <packages>

并且将从本地存储库安装软件包。 yum 完成后,您可以删除/etc/yum.repos.d/local.repo/opt/tmppkg以节省空间。

答案2

是的,yumdownloader(yum-utils 包的一部分)可以下载所需的包。要下载软件包及其依赖项以进行离线安装,您可以使用此命令

yumdownloader --resolve <package name>

安装它们的顺序由 yum 决定:

yum install ./*rpm 

您可以在包含所有依赖项的下载包所在的文件夹中运行此命令。

答案3

您可以使用youdownloader这样的工具:

 yumdownloader <package name>

它将安装 rpm 格式的软件包。以及下载依赖项

yumdownloader --resolve <package name>

相关内容