首先理清楚两个东西: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. MQ的面试题

    MQ的优点和缺点? 优点:解耦 异步,削峰 解耦: 所以需要用来解耦: 异步: 解决方法: 削峰: 解决方法是: 缺点:降低高可用性.增加系统的复杂程度.一致性问题 降低高可用的原因:系统引入的外部依 ...

  2. bugzilla权限说明

    admin:Administrators权限   bz_canusewhineatothers:可定期向其它用户发送有关bug的邮件   bz_canusewhines: 用户在这个组,才能向其发送上 ...

  3. nginx反向代理 报错:Error during WebSocket handshake: Unexpected response code: 403

    遇到nginx报错:websocket wss failed: Error during WebSocket handshake: Unexpected response code: 403 serv ...

  4. stos指令

    mov ecx,30mov eax,0cccccccchrep stos dword prt es:[edi]stos指令,它的功能是将eax中的数据放入的edi所指的地址中,同时,edi会增加4个字 ...

  5. samba 配置参数详解

    samba 配置参数详解: 一.全局配置参数  workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...

  6. Java为什么会流行

    为什么Java语言能长期占据编程语言排行榜首位? 面向对象设计,使用简单,可以很快速的入门: 开源生态做得好,很多可重用的组件,拿来即用: 跨平台,高性能,是做后台开发的首选 另一方面,Java命好, ...

  7. leetcode解题报告(31):Kth Largest Element in an Array

    描述 Find the kth largest element in an unsorted array. Note that it is the kth largest element in the ...

  8. C++中unique函数的用法总结

    个人感觉,unique是STL中很实用的函数之一,需要#include,下面来简单介绍一下它的作用. unique的作用是"去掉"容器中相邻元素的重复元素,这里去掉要加一个引号,为 ...

  9. GoCN每日新闻(2019-09-27)

    1. Golang新版本发布:Go 1.13.1和Go 1.12.10https://golang.org/dl/ 2. 如何在Golang中使用Websockets:最佳工具和步骤指南 https: ...

  10. 《挑战30天C++入门极限》新手入门:C++中堆内存(heap)的概念和操作方法

        新手入门:C++中堆内存(heap)的概念和操作方法 堆内存是什么呢? 我们知道在c/c++中定义的数组大小必需要事先定义好,他们通常是分配在静态内存空间或者是在栈内存空间内的,但是在实际工作 ...