无网络rpm包安装相关依赖包

1 介绍

有的生产环境是没有网络的,我们部署rpm包的时候会出现缺少很多rpm包的依赖问题,都去网上下载实在太麻烦,今天介绍一个办法可以解决这一问题。

2 解决方案

找一台可以联网的机器,在上边下载相应的rpm包。

使用命令:

#yum install rpmname--downloadonly --downloaddir=/rpmpath

命令解释:

此命令只是下载相关的rpm包,并下载相应的依赖。

Rpmname为rpm包的名字如httpd等

/rpmpath为下载的rpm包存放位置。

之后会下载很多依赖包,我们可以打包下载下来,通过移动设备传输到没有网的设备上之后就可以安装了。

3 安装rpm及相关依赖

3.1 方法一(推荐)

一个一个安装,但是比较麻烦,看这个包缺哪些依赖。依此安装。

使用rpm –ivh ****进行安装

3.2 方法二

如果能保证联网的机器和没有联网的机器环境一样,可以直接使用rpm –ivh –nodeps来进行安装。因为环境一样缺少的依赖包都相同,但是很少有这样的情况,因为联网的机器可能依赖包会安装。所以不建议这样操作。

4 举例说明

比如我使用要通过rpm包安装docker但是生产环境没有外网。我通过我的云服务器下载rpm及其依赖包。

4.1 下载依赖包

# yum install yum-utils --downloadonly --downloaddir=/root/dockerrpm/

# yum install policycoreutils-python --downloadonly --downloaddir=/root/dockerrpm/

# yum install docker-ce-18.06.1.ce --downloadonly --downloaddir=/root/dockerrpm/     

# ls /root/dockerrpm/ #会下载以下包

audit-2.8.1-3.el7_5.1.x86_64.rpm    libsemanage-python-2.5-11.el7.x86_64.rpm python-kitchen-1.1.1-5.el7.noarch.rpm

audit-libs-2.8.1-3.el7_5.1.x86_64.rpm libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm setools-libs-3.3.8-2.el7.x86_64.rpm

audit-libs-python-2.8.1-3.el7_5.1.x86_64.rpm policycoreutils-python-2.5-22.el7.x86_64.rpm yum-utils-1.1.31-46.el7_5.noarch.rpm

checkpolicy-2.5-6.el7.x86_64.rpm python-chardet-2.2.1-1.el7_1.noarch.rpm

libcgroup-0.41-15.el7.x86_64.rpm python-IPy-0.75-6.el7.noarch.rpm

4.2 安装

# rpm -ivh audit-libs-2.8.1-3.el7_5.1.x86_64.rpm

# rpm -ivh audit-2.8.1-3.el7_5.1.x86_64.rpm

# rpm -ivh audit-libs-python-2.8.1-3.el7_5.1.x86_64.rpm

# rpm -ivh checkpolicy-2.5-6.el7.x86_64.rpm

# rpm -ivh libcgroup-0.41-15.el7.x86_64.rpm

# rpm -ivh libsemanage-python-2.5-11.el7.x86_64.rpm

# rpm -ivh python-IPy-0.75-6.el7.noarch.rpm

# rpm -ivh setools-libs-3.3.8-2.el7.x86_64.rpm

# rpm -ivh policycoreutils-python-2.5-22.el7.x86_64.rpm

# rpm -ivh container-selinux-2.68-1.el7.noarch.rpm

# rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm

# rpm -ivh docker-ce-18.06.1.ce-3.el7.x86_64.rpm

这样就解决了所有的依赖问题。可以成功的把docker安装到没有互联网的机器上。

你可能感兴趣的:(无网络rpm包安装相关依赖包)