Yum Install --Downloadonly 下载依赖包研究

在CentOS中可以使用yum自动安装软件,在离线环境中却行不通。

  • Linux localhost 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

对于同一版本CentOS,我们可以事先下载离线依赖包,后面用命令手动安装。

  • Java

自动安装命令:

yum install -y java

安装结果:

复制代码

Installed:
  java-1.8.0-openjdk.x86_64 1:1.8.0.121-0.b13.el7_3                                                                                          
Dependency Installed:
  copy-jdk-configs.noarch 0:1.2-1.el7                                           fontconfig.x86_64 0:2.10.95-10.el7                    
  fontpackages-filesystem.noarch 0:1.44-8.el7                                   giflib.x86_64 0:4.1.6-9.el7                            
  java-1.8.0-openjdk-headless.x86_64 1:1.8.0.121-0.b13.el7_3                    javapackages-tools.noarch 0:3.4.1-11.el7               
  libICE.x86_64 0:1.0.9-2.el7                                                   libSM.x86_64 0:1.2.2-2.el7                             
  libX11.x86_64 0:1.6.3-3.el7                                                   libX11-common.noarch 0:1.6.3-3.el7                     
  libXau.x86_64 0:1.0.8-2.1.el7                                                 libXcomposite.x86_64 0:0.4.4-4.1.el7                   
  libXext.x86_64 0:1.3.3-3.el7                                                  libXfont.x86_64 0:1.5.1-2.el7                         
  libXi.x86_64 0:1.7.4-2.el7                                                    libXrender.x86_64 0:0.9.8-2.1.el7                     
  libXtst.x86_64 0:1.2.2-2.1.el7                                                libfontenc.x86_64 0:1.1.2-3.el7                        
  libjpeg-turbo.x86_64 0:1.2.90-5.el7                                           libpng.x86_64 2:1.5.13-7.el7_2                         
  libxcb.x86_64 0:1.11-4.el7                                                    libxslt.x86_64 0:1.1.28-5.el7                         
  lksctp-tools.x86_64 0:1.0.17-2.el7                                            python-javapackages.noarch 0:3.4.1-11.el7             
  python-lxml.x86_64 0:3.2.1-4.el7                                              ttmkfdir.x86_64 0:3.0.9-42.el7                        
  tzdata-java.noarch 0:2017b-1.el7                                              xorg-x11-font-utils.x86_64 1:7.5-20.el7               
  xorg-x11-fonts-Type1.noarch 0:7.5-9.el7         

复制代码

如果手动去一个个找依赖是很困难的,即便已经知道名字、版本,下面就依赖系统自带的命令完成该步骤

yum install --downloadonly --downloaddir=/home/java java

 View Code

复制代码

[root@localhost ~]# ls /home/java/ -al
total 36604
drwxr-xr-x. 2 root root     4096 Apr  6 12:11 .
drwxr-xr-x. 4 root root       28 Apr  6 12:11 ..
-rw-r--r--. 1 root root    14344 Nov 21 01:26 copy-jdk-configs-1.2-1.el7.noarch.rpm
-rw-r--r--. 1 root root   234644 Nov 21 01:44 fontconfig-2.10.95-10.el7.x86_64.rpm
-rw-r--r--. 1 root root    10116 Jul  4  2014 fontpackages-filesystem-1.44-8.el7.noarch.rpm
-rw-r--r--. 1 root root    40964 Jul  4  2014 giflib-4.1.6-9.el7.x86_64.rpm
-rw-r--r--. 1 root root   237780 Jan 21 23:40 java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64.rpm
-rw-r--r--. 1 root root 32869056 Jan 21 23:41 java-1.8.0-openjdk-headless-1.8.0.121-0.b13.el7_3.x86_64.rpm
-rw-r--r--. 1 root root    74556 Nov 25  2015 javapackages-tools-3.4.1-11.el7.noarch.rpm
-rw-r--r--. 1 root root    30908 Nov 25  2015 libfontenc-1.1.2-3.el7.x86_64.rpm
-rw-r--r--. 1 root root    66412 Nov 25  2015 libICE-1.0.9-2.el7.x86_64.rpm
-rw-r--r--. 1 root root   137244 Jul  4  2014 libjpeg-turbo-1.2.90-5.el7.x86_64.rpm
-rw-r--r--. 1 root root   217608 Dec 10  2015 libpng-1.5.13-7.el7_2.x86_64.rpm
-rw-r--r--. 1 root root    40160 Nov 25  2015 libSM-1.2.2-2.el7.x86_64.rpm
-rw-r--r--. 1 root root   620248 Nov 21 03:20 libX11-1.6.3-3.el7.x86_64.rpm
-rw-r--r--. 1 root root   165848 Nov 21 03:20 libX11-common-1.6.3-3.el7.noarch.rpm
-rw-r--r--. 1 root root    29784 Jul  4  2014 libXau-1.0.8-2.1.el7.x86_64.rpm
-rw-r--r--. 1 root root   193704 Nov 25  2015 libxcb-1.11-4.el7.x86_64.rpm
-rw-r--r--. 1 root root    22792 Jul  4  2014 libXcomposite-0.4.4-4.1.el7.x86_64.rpm
-rw-r--r--. 1 root root    39572 Nov 25  2015 libXext-1.3.3-3.el7.x86_64.rpm
-rw-r--r--. 1 root root   153884 Nov 25  2015 libXfont-1.5.1-2.el7.x86_64.rpm
-rw-r--r--. 1 root root    40604 Nov 25  2015 libXi-1.7.4-2.el7.x86_64.rpm
-rw-r--r--. 1 root root    26076 Jul  4  2014 libXrender-0.9.8-2.1.el7.x86_64.rpm
-rw-r--r--. 1 root root   247484 Jul  4  2014 libxslt-1.1.28-5.el7.x86_64.rpm
-rw-r--r--. 1 root root    20556 Jul  4  2014 libXtst-1.2.2-2.1.el7.x86_64.rpm
-rw-r--r--. 1 root root    89660 Nov 21 03:21 lksctp-tools-1.0.17-2.el7.x86_64.rpm
-rw-r--r--. 1 root root    31836 Nov 25  2015 python-javapackages-3.4.1-11.el7.noarch.rpm
-rw-r--r--. 1 root root   776320 Jul  4  2014 python-lxml-3.2.1-4.el7.x86_64.rpm
-rw-r--r--. 1 root root    48676 Nov 26  2015 ttmkfdir-3.0.9-42.el7.x86_64.rpm
-rw-r--r--. 1 root root   187080 Mar 28 23:40 tzdata-java-2017b-1.el7.noarch.rpm
-rw-r--r--. 1 root root   533720 Jul  4  2014 xorg-x11-fonts-Type1-7.5-9.el7.noarch.rpm
-rw-r--r--. 1 root root    89400 Nov 26  2015 xorg-x11-font-utils-7.5-20.el7.x86_64.rpm

复制代码

从download的过程来看,30个rpm需要按照,其中有3个为updates;

我们将update单独列出,这里需要在java目录新建update目录,然后将三个update类型rpm移动过去,最终形成文件树如下:

复制代码

[root@localhost java]# tree
.
├── copy-jdk-configs-1.2-1.el7.noarch.rpm
├── fontconfig-2.10.95-10.el7.x86_64.rpm
├── fontpackages-filesystem-1.44-8.el7.noarch.rpm
├── giflib-4.1.6-9.el7.x86_64.rpm
├── install.sh
├── javapackages-tools-3.4.1-11.el7.noarch.rpm
├── libfontenc-1.1.2-3.el7.x86_64.rpm
├── libICE-1.0.9-2.el7.x86_64.rpm
├── libjpeg-turbo-1.2.90-5.el7.x86_64.rpm
├── libpng-1.5.13-7.el7_2.x86_64.rpm
├── libSM-1.2.2-2.el7.x86_64.rpm
├── libX11-1.6.3-3.el7.x86_64.rpm
├── libX11-common-1.6.3-3.el7.noarch.rpm
├── libXau-1.0.8-2.1.el7.x86_64.rpm
├── libxcb-1.11-4.el7.x86_64.rpm
├── libXcomposite-0.4.4-4.1.el7.x86_64.rpm
├── libXext-1.3.3-3.el7.x86_64.rpm
├── libXfont-1.5.1-2.el7.x86_64.rpm
├── libXi-1.7.4-2.el7.x86_64.rpm
├── libXrender-0.9.8-2.1.el7.x86_64.rpm
├── libxslt-1.1.28-5.el7.x86_64.rpm
├── libXtst-1.2.2-2.1.el7.x86_64.rpm
├── lksctp-tools-1.0.17-2.el7.x86_64.rpm
├── python-javapackages-3.4.1-11.el7.noarch.rpm
├── python-lxml-3.2.1-4.el7.x86_64.rpm
├── ttmkfdir-3.0.9-42.el7.x86_64.rpm
├── update
│   ├── java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64.rpm
│   ├── java-1.8.0-openjdk-headless-1.8.0.121-0.b13.el7_3.x86_64.rpm
│   └── tzdata-java-2017b-1.el7.noarch.rpm
├── xorg-x11-fonts-Type1-7.5-9.el7.noarch.rpm
└── xorg-x11-font-utils-7.5-20.el7.x86_64.rpm

复制代码

在同层目录,创建install.sh

复制代码

[root@localhost java]# cat install.sh 
 
  
rpm -ivh *.rpm
rpm -Uvh update/*.rpm

复制代码

测试:

复制代码

[root@localhost java]# chmod 750 install.sh 
[root@localhost java]# sh install.sh 
Preparing...                          ################################# [100%]
Updating / installing...
   1:libxslt-1.1.28-5.el7             ################################# [  4%]
   2:libICE-1.0.9-2.el7               ################################# [  7%]
   3:libfontenc-1.1.2-3.el7           ################################# [ 11%]
   4:libXfont-1.5.1-2.el7             ################################# [ 15%]
   5:xorg-x11-font-utils-1:7.5-20.el7 ################################# [ 19%]
   6:libSM-1.2.2-2.el7                ################################# [ 22%]
   7:python-lxml-3.2.1-4.el7          ################################# [ 26%]
   8:python-javapackages-3.4.1-11.el7 ################################# [ 30%]
   9:ttmkfdir-3.0.9-42.el7            ################################# [ 33%]
  10:libXau-1.0.8-2.1.el7             ################################# [ 37%]
  11:libxcb-1.11-4.el7                ################################# [ 41%]
  12:libX11-common-1.6.3-3.el7        ################################# [ 44%]
  13:libX11-1.6.3-3.el7               ################################# [ 48%]
  14:libXext-1.3.3-3.el7              ################################# [ 52%]
  15:libXi-1.7.4-2.el7                ################################# [ 56%]
  16:fontpackages-filesystem-1.44-8.el################################# [ 59%]
  17:fontconfig-2.10.95-10.el7        ################################# [ 63%]
  18:xorg-x11-fonts-Type1-7.5-9.el7   ################################# [ 67%]
  19:libXtst-1.2.2-2.1.el7            ################################# [ 70%]
  20:giflib-4.1.6-9.el7               ################################# [ 74%]
  21:libXcomposite-0.4.4-4.1.el7      ################################# [ 78%]
  22:libXrender-0.9.8-2.1.el7         ################################# [ 81%]
  23:javapackages-tools-3.4.1-11.el7  ################################# [ 85%]
  24:lksctp-tools-1.0.17-2.el7        ################################# [ 89%]
  25:libpng-2:1.5.13-7.el7_2          ################################# [ 93%]
  26:libjpeg-turbo-1.2.90-5.el7       ################################# [ 96%]
  27:copy-jdk-configs-1.2-1.el7       ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:tzdata-java-2017b-1.el7          ################################# [ 33%]
   2:java-1.8.0-openjdk-headless-1:1.8################################# [ 67%]
   3:java-1.8.0-openjdk-1:1.8.0.121-0.################################# [100%]
[root@localhost java]# java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

复制代码

综上所述,可以通过预先下载依赖,快速完成1.8.0_121版本java的离线安装

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值