如何利用yum下载并安装rpm包及其依赖

今天在安装perl-IPC-Cmd的时候,发现有很多依赖。

执行yum install perl-IPC-Cmd大概这个样子:

 Updating   : glibc-common-2.17-196.el7_4.2.x86_64                                                                       1/22 
 Updating   : glibc-2.17-196.el7_4.2.x86_64                                                                              2/22 
 Updating   : libdb-5.3.21-21.el7_4.x86_64                                                                               3/22 
 Installing : libdb-devel-5.3.21-21.el7_4.x86_64                                                                         4/22 
 Installing : kernel-headers-3.10.0-693.21.1.el7.x86_64                                                                  5/22 
 Installing : glibc-headers-2.17-196.el7_4.2.x86_64                                                                      6/22 
 Installing : glibc-devel-2.17-196.el7_4.2.x86_64                                                                        7/22 
 Installing : gdbm-devel-1.10-8.el7.x86_64                                                                               8/22 
 Installing : pyparsing-1.5.6-9.el7.noarch                                                                               9/22 
 Installing : systemtap-sdt-devel-3.1-5.el7_4.x86_64                                                                     10/22 
 Installing : 1:perl-ExtUtils-ParseXS-3.18-3.el7.noarch                                                                  11/22 
 Installing : perl-ExtUtils-MakeMaker-6.68-3.el7.noarch                                                                  12/22 
 Installing : perl-ExtUtils-Install-1.58-292.el7.noarch                                                                  13/22 
 Installing : 4:perl-devel-5.16.3-292.el7.x86_64                                                                         14/22 
 Installing : 1:perl-IPC-Cmd-0.80-4.el7.noarch                                                                           15/22 
 Updating   : libdb-utils-5.3.21-21.el7_4.x86_64                                                                         16/22 
 Updating   : glibc-2.17-196.el7_4.2.i686                                                                                17/22 

由于要批量给别人安装,用户环境可能没有网络,需要自己rpm。

下面描述下我的步骤:

下载rpm包

执行 yum install perl-IPC-Cmd

出现下载列表并提示 【y/d/n】

这里选择d,d是仅下载不安装的意思。会下载到/var/cache/yum/x86_64/7/目录的相应位置。

安装rpm包

/var/cache/yum/x86_64/7/upgrades/packages下执行存放需要升级的软件包,此处我手动rpm -ivh  packagename发现有互相依赖,很难解决之间的依赖关系,只需执行

rpm -Uvh *

即可,会自动解决他们之间的依赖关系。

/var/cache/yum/x86_64/7/base/packages 下执行存放需要安装的软件包,只需执行

rpm -ivhU * --nodeps --force

即可,因为下载的时候将依赖也下载了下来,安装的时候会有安装顺序造成依赖后安装,因此要用--nodeps --force忽略依赖检查,只要保证依赖的rpm也在文件夹下,就会全部安装,不影响使用。

方法总结

yum install --downloadonly --downloaddir=/tmp/rpm  perl-IPC-Cmd

将所需的所有安装包及其依赖,下载到/rmp/rpm目录下,然后将整个目录拷贝出来,通过sftp传输到待安装的机器上,执行

rpm -ivhU *  --nodeps --force 一切都自动解决!

 

你可能感兴趣的:(linux,centos)