【转】linux rpm 安装jdk的方法,指定安装目录 (含卸载方法)

原文链接:https://www.sunjs.com/article/detail/b9e8429ed0e2488db894c16600dba455.html

博主使用的是虚拟机centos 7,选择jdk 1.7

Linux x64      131.69 MB  jdk-7u80-linux-x64.rpm

下载完成后执行以下代码

 
1
2
3
4
5
6
7
8
9
10
11
[bash]
[root@CentOS_7 soft]# rpm -ivh jdk-7u80-linux-x64.rpm #进行安装
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-2000:1.7.0_80-fcs            ################################# [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...
        jfxrt.jar...

安装完成,执行version查看版本

 
1
2
3
4
[bash]
[root@CentOS_7 soft]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

到这里可能会有小伙伴问了,为什么没有配置环境变量呢。其实正是因为使用rpm进行安装,根据LINUX的文件系统机制,会在/usr/bin下建立一个软连接,我们来查看一下:

 
1
2
3
4
[bash]
[root@CentOS_7 soft]# ll /usr/bin/java*
java     javac    javadoc  javaws   
[root@CentOS_7 soft]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 26 Apr 24 11:01 /usr/bin/java -> /usr/java/default/bin/java

从这里可得知jdk安装到了/usr/java目录下

 
1
2
3
4
5
[bash]
[root@CentOS_7 java]# ll /usr/java/
total 4
lrwxrwxrwx. 1 root root   16 Apr 24 11:01 default -> /usr/java/latest
drwxr-xr-x. 8 root root 4096 Apr 24 11:01 jdk1.7.0_80
lrwxrwxrwx. 1 root root   21 Apr 24 11:01 latest -> /usr/java/jdk1.7.0_80

如果想要卸载这个软件

 
1
2
3
[bash]
[root@CentOS_7 jdk1.7.0_80]# rpm -q jdk #查询名称
jdk-1.7.0_80-fcs.x86_64
[root@CentOS_7 jdk1.7.0_80]# rpm -e jdk-1.7.0_80-fcs.x86_64 #回车卸载完成

如果想要指定安装目录,那么软连接可能就没有了,我们来测试一下,将jdk安装到/usr/local/java目录下

 
1
2
3
4
5
6
7
8
9
10
11
12
[bash]
[root@CentOS_7 soft]# rpm -ivh --prefix=/usr/local/java jdk-7u80-linux-x64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-2000:1.7.0_80-fcs            ################################# [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...
        jfxrt.jar...
ln: failed to create symbolic link ‘/usr/java/jdk1.7.0_80’: No such file or directory

最后提示symbolic link 软连接失败。

在这里我插几句,介绍一下指定安装目录的问题:

还有一种方法可以指定安装目录:

 
1
[bash]
[root@CentOS_7 soft]# rpm -ivh --badreloc --relocate /usr/java=/usr/local/java jdk-7u80-linux-x64.rpm

--badreloc:是强制把文件安装到你想要的地方。

--relocate:就是只把应该装到oldpath下的文件安装到newpath,实现将一部分文件安装到其它的路径,而不是把所有的这个包的文件都替换。

/usr/java 的由来是因为JDK默认要装在/usr/java 下,可以使用以下语句得到

 
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
[bash]
[root@CentOS_7 soft]# rpm -qpi jdk-7u80-linux-x64.rpm #查看包信息 query--package--install
Name        : jdk
Epoch       : 2000
Version     : 1.7.0_80
Release     : fcs
Architecture: x86_64
Install Date: (not installed)
Group       : Development/Tools
Size        : 219404663
License     : http://java.com/license
Signature   : (none)
Source RPM  : jdk-1.7.0_80-fcs.src.rpm
Build Date  : Sat 11 Apr 2015 11:15:36 AM CST
Build Host  : sca00efd.us.oracle.com
Relocations : /usr/java 
Packager    : Java Software <jre-comments@java.sun.com>
Vendor      : Oracle Corporation
URL         : URL_REF
Summary     : Java Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).
 
The JDK is a development environment for building applications, applets
and components that can be deployed with the Java Platform Standard
Edition Runtime Environment.

但是无论是prefix还是relocate都不见得可以真正可以用,因为有的包或者文件不允许装到其他路径,比如oracleasm-support-2.1.8-1.el6.x86_64.rpm。

好了,言归正传

配置一下环境变量

 
1
2
3
4
5
[bash]
[root@CentOS_7 java]# vim /etc/profile  #增加以下内容
export JAVA_HOME=/usr/local/java/jdk1.7.0_80
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

保存退出重新加载测试:

 
1
2
3
[bash]
[root@CentOS_7 jdk1.7.0_80]# source /etc/profile
[root@CentOS_7 jdk1.7.0_80]# echo $JAVA_HOME
/usr/local/java/jdk1.7.0_80

版权属于: 技术客

原文地址: https://www.sunjs.com/article/detail/b9e8429ed0e2488db894c16600dba455.html

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



原文地址:https://www.cnblogs.com/binzhou75/p/13984142.html