首先理清楚两个东西:rpm和yum。rpm全称redhat package manager,用来管理软件包;yum全称yellow dog updater,modified,它是rpm的前端程序,因为它解决了rpm的软件包依赖问题,有点像maven的自动依赖管理。言归正传,rpm和yum都需要root权限;如果要下载软件包,毫无疑问,他们两者都需要联网。现在假设有两台linux机器,A机器能上网,B则啥都没有,我们来看下如何将rpm包搬家。

  我们先登上A的root,通过yum下载我们需要的包:

# yum install ncurses-devel
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
DVD | 4.1 kB ::
cloudera-manager | B ::
mysql-connectors-community | 2.5 kB ::
mysql-tools-community | 2.5 kB ::
mysql56-community | 2.5 kB ::
(/): mysql-tools-community/x86_64/primary_db | kB ::
(/): mysql-connectors-community/x86_64/primary_db | kB ::
(/): mysql56-community/x86_64/primary_db | kB ::
Package ncurses-devel-5.9-13.20130511.el7.x86_64 already installed and latest version
Nothing to do

  再查查确认下:

# yum list installed | grep ncurses-devel
ncurses-devel.x86_64 5.9-13.20130511.el7 @DVD

  下载好了,就要先搬到本地了,那么我们得知道它的存储路径,先看完整包名叫啥:

# rpm -qa | grep 'ncurses-devel'
ncurses-devel-5.9-13.20130511.el7.x86_64

  定位到具体路径:

]# cd ..
# find . -name 'ncurses-devel-5.9-13.20130511.el7.x86_64*'
./mnt/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm

  进入该路径,通过sz下载到本地目录:

# cd /mnt/Packages
# sz ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
rz
开始 zmodem 传输。 按 Ctrl+C 取消。
% KB KB/s :: Errors64.rpm...

  好了,我们打开B的非root用户wlf,通过rz上传上面的rpm包到soft目录:

$ cd soft
$ rz -y
rz waiting to receive.
开始 zmodem 传输。 按 Ctrl+C 取消。
% KB KB/s :: Errors64.rpm...

  开始安装:

$ rpm -ivh *.rpm --force --nodeps
error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)

  我们发现rpm安装时创建事务需要使用锁文件,而普通用户没有权限访问,只能求助root了,切换到root后再次进入soft目录执行:

# rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm --force --nodeps
Preparing... ################################# [%]
Updating / installing...
:ncurses-devel-5.9-13.20130511.el7################################# [%]

  最后看下以上的yum命令:

  yum list installed:查看已经安装过的

  yum install:安装数据包

  yum remove:卸载数据包

  rpm的参数说明:

  -i:安装数据包

  -v:显示详细信息

  -h:显示安装进度

  (以上3个在安装时配套使用)

  --nodeps:取消依赖关系

  --force:强制安装

  -qa:查询所有安装包

linux无网络情况下安装rpm包的更多相关文章

  1. Kali Linux ——在无网络情况下安装无线网卡驱动

    1.背景: 今日刚刚开始学习kali linux,众所周知,安装完成后,系统是没有无线网卡驱动的,这就对学生党造成相当的困扰:校园网要连接有线是需要认证客户端的,而认证客户端只有windows端,如此 ...

  2. 【Docker】CentOS7 上无网络情况下安装

    自建虚拟机,但是连接不上网络,只能通过下载rpm包进行安装docker 环境:CentOS 7.3.1611 x64 rpm镜像下载地址用的阿里的https://mirrors.aliyun.com/ ...

  3. centos 7 无网络情况下,解决yum 安装依赖rpm包

    方法一:在一台有网络的机器,用yum下载好所需程序,传到另外一台网络的机器上安装 yum install xtrabackup --downloadonly --downloaddir=/rpmpat ...

  4. CentsOS7无网情况下安装mysql5.7

    1.需求就不用讲了,客户现场,政府环境,银行环境,大多是没网的,所以无网安装是很有必要的 mysql下载路径:https://dev.mysql.com/downloads/mysql/ 查看自己Li ...

  5. centos7服务器无GUI情况下安装使用Xvfb、selenium、chrome和selenium-server

    最近需要用到selenium浏览器抓取,在windows下对照chrome浏览器开发的代码,在linux服务器上换成phantomjs驱动后,却不能运行了,通过截图发现phantomjs渲染效果和ch ...

  6. 无网络环境下安装Dynamics CRM

    在安装CRM时会需要很多的组件支持,没有这些组件是没法安装的,一般我们都是选择机器联网后在线安装,但也有特殊情况确实不能联网的,可参考这篇文章 https://blogs.msdn.microsoft ...

  7. Linux下安装rpm出现error: Failed dependencies

    在Linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: xxxxxxxxxxxxxxxxxxxxxx 遇到此问题时可以在安装rpm包命令的后面加两 ...

  8. 安装rpm包时遇到error: Failed dependencies:错误

    在linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: ............................................. ...

  9. Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)

    有在Linux系统中安装软件的经历的人都知道,在Linux系统中手动安装软件不想在Windows下安装软件那么方便,直接双击,然后下一步下一步就可以把软件成功的装入到系统中,而在Linux系统中,安装 ...

随机推荐

  1. Ecshop漏洞通杀0day【最新入侵手法】

    昨晚上翻阅一本技术书籍中,找到灵感,发现的ECshop漏洞. 搜索关键字:关键字:powered by ecshop 方法一: 普通代码: user.php?act=order_query&o ...

  2. 结构型模式(二) 桥接模式(Bridge)

    一.动机(Motivation) 在很多游戏场景中,会有这样的情况:[装备]本身会有的自己固有的逻辑,比如枪支,会有型号的问题,同时现在很多的游戏又在不同的介质平台上运行和使用,这样就使得游戏的[装备 ...

  3. react 面试指南

    ------------恢复内容开始------------ 什么是声明式编程 声明式编程是一种编程范式,它关注的是你要做什么,而不是如何做.它表达逻辑而不显式地定义步骤.这意味着我们需要根据逻辑的计 ...

  4. terminal mvn 打包

    命令: mvn clean install -Dmaven.test.skip=true

  5. Greenplum FTS故障检测原理

    前言 FTS(Fault Tolerance Serve)是GreenPlum中的故障检测服务,是保证GP高可用的核心功能.GreenPlum的Segment的健康检测及HA是由GP Master实现 ...

  6. SpringCloud分布式系统的演进.

    day1 https://github.com/deadzq/product-service 单体服务 https://github.com/deadzq/eurekaserver1 注册中心Eure ...

  7. 41、Hive数据源复杂综合案例

    一.Hive数据源案例 1.概述 Spark SQL支持对Hive中存储的数据进行读写.操作Hive中的数据时,必须创建HiveContext,而不是SQLContext.HiveContext继承自 ...

  8. Spark-Hadoop、Hive、Spark 之间是什么关系?

    作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  9. Java 获取客户端真实IP地址

    本文基于方法 HttpServletRequest.getHeader 和 HttpServletRequest.getRemoteAddr 介绍如何在服务器端获取客户端真实IP地址. 业务背景 服务 ...

  10. JavaScript substr() 方法

    定义和用法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. 语法 stringObject.substr(start,length) 参数 描述 start 必需.要 ...