• 【转】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

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



  • 相关阅读:
    php实现中文反转字符串的方法
    冒泡排序
    mac 安装ngnix
    二维数组排序可以用php内置函数
    mysql 利用explain 优化
    Jquery Datatable
    SSL证书(HTTPS)背后的加密算法
    HTTPS的误解(二)
    HTTPS的误解(一)
    电子商务信息安全与信任解决方案
  • 原文地址:https://www.cnblogs.com/binzhou75/p/13984142.html
Copyright © 2020-2023  润新知