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

Posted ricksteves

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7离线安装rpm包自动解决依赖相关的知识,希望对你有一定的参考价值。

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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

  

以上是关于centos7离线安装rpm包自动解决依赖的主要内容,如果未能解决你的问题,请参考以下文章

Centos7离线安装Redis

离线安装Mariadb

CentOS7离线安装Mysql8.0

centos7离线安装rabbitmq

centos7下通过RPM离线安装mariadb10.4.11

搭建本地离线yum仓库