我们的服务器离线运行,我们需要安装很多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=0来yum.conf的。 首先在那里安装你想要在离线服务器上安装的所有软件包,然后简单地从各个/var/cache/yum/*/*/*packages/目录复制收集到的RPM软件包。