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. Win10+Ubuntu18.04安装双系统

    一:相关资料 (一)Win10+Ubuntu18.04 亲测UEFI启动模式双硬盘+双系统成功安装经验(文章) (二)如何安装Linux与windows双系统?(视频) 推荐先看视频,之后按照文章进行 ...

  2. Django中models定义的choices字典使用get_FooName_display()在页面中显示值

    问题 在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等等 看下例子: class Area(model ...

  3. Spring Cloud Config 分布式配置管理 5.3

    Spring Cloud Config简介 在传统的单体式应用系统中,我们通常会将配置文件和代码放在一起,但随着系统越来越大,需要实现的功能越来越多时,我们又不得不将系统升级为分布式系统,同时也会将系 ...

  4. Spring MVC初始化

      整个Spring MVC的初始化,配置了DispatcherServlet和ContextLoaderListener,那么它们是如何初始化Spring IoC容器上下文和映射请求上下文的呢?所以 ...

  5. Redis的特性及运用

    Redis特性 一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点: 读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式 这里我们通过几个场景,不同维度说下 ...

  6. jenkins安装插件一直不动

    刷新界面即可,查看已安装的插件即可,这个时候已经安装完了,不用重启,直接使用插件即可

  7. css样式圆角和一定的透明度

    css样式里可以用border-radius把div或图片变成带有一定圆角的,如果是div本身是正方形,设置圆角度是百分之五十,就是圆形. border-radius:值可以是具体的px数值,也可以是 ...

  8. AWS 数据分析服务(十)

    Amazon Kinesis 概念 处理AWS上大量流数据的数据平台 Kinesis Streams 用于搜集数据,Client Library 用于分析后的展示 构建用于处理或分析流数据的自定义应用 ...

  9. 漏洞复现之Redis-rce

    通过主从复制 GetShell Redis主从复制 Redis是一个使用ANSI C编写的开源.支持网络.基于内存.可选持久性的键值对存储数据库.但如果当把数据存储在单个Redis的实例中,当读写体量 ...

  10. spring结合shiro的学习总结

    pom文件加入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-c ...