如何脱机安装软件包?

我们的服务器离线运行,我们需要安装很多yum软件包,比如oracle-jdk,elasticsearch,nginx等。

有什么办法可以下载rpm的依赖关系,所以我们可以在服务器上离线安装它们?

在连接Internet的机器上使用rsync维护本地CentOS镜像到公用CentOS镜像,该镜像接受rsync连接。 然后,您可以将这些目录复制到USB存储棒并将其用作安装源。 他们已经携带必要的元数据来充当仓库,所以你只需要把安装程序指向他们。

 $ du -sh /srv/www/mirrors/centos/7.1.1503/{os,updates}/x86_64 7.1G /srv/www/mirrors/centos/7.1.1503/os/x86_64 2.1G /srv/www/mirrors/centos/7.1.1503/updates/x86_64 

对于第三方软件包,您也可以使用reposync命令行工具来镜像这些工具,该工具将yum存储库的内容下载到本地文件系统, createrepo目录中的一组RPM中创buildyum存储库。

请记住,存储库不必在networking上。 它们可以位于本地文件系统上,如硬盘,DVD-ROM或USB记忆棒。

你必须寻找一个本地存储库,看看这篇文章或这一个

回应你的评论:

我想要的东西就像下载所有的RPM软件包和依赖关系在另一个Centos 7.1机器与互联网连接,然后将所有这些RPM文件(例如使用pendrive)到服务器并安装在那里。

这听起来像是通过在CentOS在线服务器的yum.conf设置选项keepcahe=0yum.conf的。 首先在那里安装你想要在离线服务器上安装的所有软件包,然后简单地从各个/var/cache/yum/*/*/*packages/目录复制收集到的RPM软件包。