centos7.5离线安装rpm包自动解决依赖

centos7.5离线安装rpm包自动解决依赖

当生产环境由于安全原因处于断网状态的时候。通过本地源的方式,使用yum能够自动安装软件,并且自动处理好依赖关系。
然而该方法最最关键的一个问题是——怎么获取该软件及其依赖包,供本地源使用?
当安装软件的依赖包较少的话,通过手动的方式,一个个查找并下载,也许是一个可以考虑的方案,而当一个软件有上百个依赖、并且依赖上又有依赖,这时候你再试试?
如果真的觉得很无力,那么downloadonly跟yumdownloade绝对是两个值得尝试的神器。本文主要介绍downloadonly的使用方法。

yum install yum-plugin-downloadonly
 
[root@linux-node1 ~]# yum install yum-plugin-downloadonly
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * epel: mirrors.tongji.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
Package yum-3.4.3-158.el7.centos.noarch already installed and latest version
Nothing to do
[root@linux-node1 ~]#
 
 
创建目录用来缓存rpm包
[root@linux-node1 ~]# mkdir /data/rpm -p
[root@linux-node1 ~]#
 
 
我们还可以指定软件包的下载路径。需要加入参数–downloaddir参数。
格式:yum install –downloadonly –downloaddir= your-dir package-name,如:
 
 
执行如下命令
[root@linux-node1 /data/rpms]# yum install --downloadonly --downloaddir=/data/rpm  gem
[root@linux-node1 ~]# cd /data/rpm/
[root@linux-node1 /data/rpm]# ll
total 1012
-rw-r--r-- 1 root root  72560 Mar  5 21:47 ruby-2.0.0.648-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root  84692 Mar  5 21:47 rubygem-bigdecimal-1.2.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root  55044 Mar  5 21:47 rubygem-io-console-0.4.2-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root  81180 Mar  5 21:47 rubygem-json-1.7.7-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root  84160 Mar  5 21:48 rubygem-psych-2.0.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root 329272 Mar  5 21:48 rubygem-rdoc-4.0.0-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 224400 Mar  5 21:48 rubygems-2.0.14.1-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root  94056 Mar  5 21:48 ruby-irb-2.0.0.648-33.el7_4.noarch.rpm
[root@linux-node1 /data/rpms]#
 
离线安装本地rpm包
[root@linux-node1 ~]# rsync -a 10.0.3.62:/data/rpm /data/
[root@linux-node1 ~]# cd /data/
[root@linux-node1 /data]# ll
total 4
drwxr-xr-x 2 root root 4096 Aug 20 14:20 rpm
[root@linux-node1 /data]# cd rpm/
[root@linux-node1 /data/rpm]# ll
total 3932
-rw-r--r-- 1 root root   56068 Jan 30  2015 libyaml-0.1.4-11.el7_0.x86_64.rpm
-rw-r--r-- 1 root root   72560 Mar  5 21:47 ruby-2.0.0.648-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root   84692 Mar  5 21:47 rubygem-bigdecimal-1.2.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root   55044 Mar  5 21:47 rubygem-io-console-0.4.2-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root   81180 Mar  5 21:47 rubygem-json-1.7.7-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root   84160 Mar  5 21:48 rubygem-psych-2.0.0-33.el7_4.x86_64.rpm
-rw-r--r-- 1 root root  329272 Mar  5 21:48 rubygem-rdoc-4.0.0-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root  224400 Mar  5 21:48 rubygems-2.0.14.1-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root   94056 Mar  5 21:48 ruby-irb-2.0.0.648-33.el7_4.noarch.rpm
-rw-r--r-- 1 root root 2931216 Mar  5 21:48 ruby-libs-2.0.0.648-33.el7_4.x86_64.rpm
[root@linux-node1 /data/rpm]# yum localinstall *.rpm -y

downloadonly的安装和使用

1、安装downloadonly

sudo yum install yum-plugin-downloadonly

2、downloadonly使用
格式:yum install –downloadonly+软件名称,如:

sudo yum install --downloadonly nano

默认情况下软件下载的路径在/var/cache/yum/x86_64/7/base/packages/下。如:上面命令下载的nano软件包位置如下图所示:


图片.png

这里写图片描述
我们还可以指定软件包的下载路径。需要加入参数–downloaddir参数。
格式:yum install –downloadonly –downloaddir= your-dir package-name,如:

sudo yum install --downloadonly --downloaddir=/root/package/nano nano

此时,下载的nano包存放在/root/package/nano目录下,如图所示:


图片.png

这里写图片描述
注:/root/package/nano目录要先存在。
yumdownloade的安装和使用
1、安装yumdownloade

sudo yum install yum-utils -y

2、yumdownloade使用
格式:sudo yumdownloader 软件名,如:

sudo yumdownloader nano 

默认情况下,下载的包会被保存在当前目录中,我们需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。我们可以通过加参数,使得下载包的过程中同时下载依赖以及自定义下载位置,格式为:yumdownloader 软件名 –resolve –destdir=保存目录
例如:

sudo yumdownloader httpd --resolve --destdir=/root/package/httpd 

查看下载的httpd及其依赖,结果如图所示:


图片.png

你可能感兴趣的:(centos7.5离线安装rpm包自动解决依赖)