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安装到没有互联网的机器上

当生产环境由于安全原因处于断网状态的时候。通过本地源的方式,使用yum能够自动安装软件,并且自动处理好依赖关系。然而该方法最最关键的一个问题是——怎么获取该软件及其依赖包,供本地源使用?当安装软件的依赖包较少的话,通过手动的方式,一个个查找并下载,也许是一个可以考虑的方案,而当一个软件有上百个依赖、并且依赖上又有依赖,这时候你再试试?如果真的觉得很无力,那么downloadonly跟yumdownloade绝对是两个值得尝试的神器。本文简单介绍downloadonly跟yumdownloade的使用方法。
downloadonly的安装和使用
1、安装downloadonly
 
sudo yum install yum-plugin-downloadonly1
2、downloadonly使用
格式:yum install –downloadonly+软件名称,如:
 
sudo yum install --downloadonly nano1
默认情况下软件下载的路径在/var/cache/yum/x86_64/7/base/packages/下。如:上面命令下载的nano软件包位置如下图所示:
 
我们还可以指定软件包的下载路径。需要加入参数–downloaddir参数。
格式:yum install –downloadonly –downloaddir= your-dir  package-name,如:
 
sudo yum install --downloadonly --downloaddir=/root/package/nano nano1
此时,下载的nano包存放在/root/package/nano目录下,如图所示:
 
注:/root/package/nano目录要先存在。
 
yumdownloade的安装和使用
1、安装yumdownloade
 
sudo yum install yum-utils -y1
2、yumdownloade使用
格式:sudo yumdownloader 软件名,如:
 
sudo yumdownloader nano 1
默认情况下,下载的包会被保存在当前目录中,我们需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。我们可以通过加参数,使得下载包的过程中同时下载依赖以及自定义下载位置,格式为:yumdownloader 软件名 –resolve –destdir=保存目录
例如:
 
sudo yumdownloader httpd --resolve --destdir=/root/package/httpd
12
查看下载的httpd及其依赖,结果如图所示:

Linux 非互联网环境安装依赖包的更多相关文章

  1. git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务

     一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目  3.安装依赖包(进入到命令行) # 安装依赖包 $ ...

  2. 安装依赖包时--save-dev以及-save的区别及意义

    首先这样做会生成一个package.json的配置文件,并在里面增加相应的版本信息,以后运行程序时,安装依赖包可以直接 npm  install或者你有安装淘宝镜像,那就cnpm install 就一 ...

  3. Linux课程---9、安装RPM包(RPM的全称是什么)

    Linux课程---9.安装RPM包(RPM的全称是什么) 一.总结 一句话总结: redhat package management 1.在Packages中查找和php相关的文件如何查找? ls ...

  4. Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  5. 5.Python安装依赖(包)模块方法介绍

    1.前提条件 1). 确保已经安装需要的Python版本 2). 确保已经将Python的目录加入到环境变量中 2. Python安装包的几种常用方式 1). pip安装方式(正常在线安装) 2). ...

  6. Linux Object-C 编译环境安装

    sudo apt-get install gnustep sudo apt-get install gnustep-devel sudo apt-get install gobjc . /usr/sh ...

  7. CDH平台搭建解决离线安装依赖包的方法

    背景介绍: 1CDH开发平台在搭建的过程中,会遇到各种各样的问题,其中的各种依赖就是一个很让人头痛的问题.如果安装脚本文件出现了这种问题,那么就可以把以下的这种方法加入shell中,但是不要用yum来 ...

  8. CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包

    PHP 项目中,通过 Composer 来管理各种依赖包,类似 Java 中的 Maven,或 Node 中的 npm.CodeIgniter 框架要想通过 Composer 自动加载包也很简单,步骤 ...

  9. 为什么安装了淘宝镜像,永用cnpm安装依赖包会报错,而用npm就不会?报错:cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1。。。。

    cnpm - 解决 " cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本.有关详细信息 ... ...

随机推荐

  1. Spring Boot与ActiveMQ的集成

    Spring Boot对JMS(Java Message Service,Java消息服务)也提供了自动配置的支持,其主要支持的JMS实现有ActiveMQ.Artemis等.本节中,将以Active ...

  2. mybatis 枚举typeHandler

    枚举typeHandler 在绝大多数情况下,typeHandler因为枚举而使用,MyBatis已经定义了两个类作为枚举类型的支持,这两个类分别是: •EnumOrdinalTypeHandler. ...

  3. clientHeight,offsetHeight,scrollHeight迷一样的三个值

    https://blog.csdn.net/qq_39083004/article/details/78498178 https://www.imooc.com/article/17571  推荐 o ...

  4. VS2010/VS2012/VS2015下openGL环境配置(转)

    按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...

  5. 细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意 ...

  6. 修改ecshop的70种技巧

    1.如何修改网站”欢迎惠临本店”答复(dafu):languages\zh_cn\common.php文件中,$_LANG['welcome']=’欢迎惠临本店’:将他修改成你需要的字样. 2.如何修 ...

  7. linq list select用法注意事项

    下面是我自己做的一个例子 List<CR_CustomerOrder> OrdList = new List<CR_CustomerOrder>(); var b = OrdL ...

  8. C#语法中的select

    第一次学着用Linq的盆友们,可以看看哈.... 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://w ...

  9. AWS 基础设施即代码(五)

    基础设施即代码 概述 手动配置的挑战:可能因为人为错误导致缺乏可靠性,环境无法完全再现,同时需要额外文档 基础设施即代码,是软件开发中用于创建可重用.可维护.可扩展及可测试基础设施的技术.实践和工具, ...

  10. 【网络开发】winsock组播

    https://my.oschina.net/lopo/blog/260685 //客户端 #include <winsock2.h> #include <stdio.h> # ...