linux无网络情况下安装rpm包

Posted 不想下火车的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux无网络情况下安装rpm包相关的知识,希望对你有一定的参考价值。

  首先理清楚两个东西: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  00:00:00     
cloudera-manager                                                                                                                                 |  951 B  00:00:00     
mysql-connectors-community                                                                                                                       | 2.5 kB  00:00:00     
mysql-tools-community                                                                                                                            | 2.5 kB  00:00:00     
mysql56-community                                                                                                                                | 2.5 kB  00:00:00     
(1/3): mysql-tools-community/x86_64/primary_db                                                                                                   |  61 kB  00:00:00     
(2/3): mysql-connectors-community/x86_64/primary_db                                                                                              |  44 kB  00:00:00     
(3/3): mysql56-community/x86_64/primary_db                                                                                                       | 233 kB  00:00:01     
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 取消。
  100%     712 KB  712 KB/s 00:00:01       0 Errors64.rpm...

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

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

  开始安装:

$ rpm -ivh *.rpm --force --nodeps
error: cant 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...                          ################################# [100%]
Updating / installing...
   1:ncurses-devel-5.9-13.20130511.el7################################# [100%]

  最后看下以上的yum命令:

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

  yum install:安装数据包

  yum remove:卸载数据包

  rpm的参数说明:

  -i:安装数据包

  -v:显示详细信息

  -h:显示安装进度

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

  --nodeps:取消依赖关系

  --force:强制安装

  -qa:查询所有安装包

 

以上是关于linux无网络情况下安装rpm包的主要内容,如果未能解决你的问题,请参考以下文章

Linux下vsftpd的安装配置

VMware14演示CentOS 7在无网络连接环境下自建yum仓库解决依赖关系

在断网状态下安装rpm包

Linux学习:软件包管理+常用命令

系统找不到chkconfig命令是怎么回事

linux下如何找到apache的安装目录。找到apache的配置文件?