在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的离线安装