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 ::
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:查询所有安装包

上一篇:POJ-A Simple Problem with Integers


下一篇:centos7.2环境下安装smokeping对网络状态进行监控