1. 程式人生 > 實用技巧 >【轉】linux rpm 安裝jdk的方法,指定安裝目錄 (含解除安裝方法)

【轉】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_7soft]#rpm-ivhjdk-7u80-linux-x64.rpm#進行安裝 Preparing...#################################[100%]
Updating/installing... 1:jdk-2000:1.7.0_80-fcs#################################[100%] UnpackingJARfiles... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar...

安裝完成,執行version檢視版本

1 2 3 4 [bash] [root@CentOS_7soft]#java-version javaversion"1.7.0_80" Java(TM)SERuntimeEnvironment(build1.7.0_80-b15)
JavaHotSpot(TM)64-BitServerVM(build24.80-b11,mixedmode)

到這裡可能會有小夥伴問了,為什麼沒有配置環境變數呢。其實正是因為使用rpm進行安裝,根據LINUX的檔案系統機制,會在/usr/bin下建立一個軟連線,我們來檢視一下:

1 2 3 4 [bash] [root@CentOS_7soft]#ll/usr/bin/java* javajavacjavadocjavaws [root@CentOS_7soft]#ll/usr/bin/java lrwxrwxrwx.1rootroot26Apr2411:01/usr/bin/java
->/usr/java/default/bin/java

從這裡可得知jdk安裝到了/usr/java目錄下

1 2 3 4 5 [bash] [root@CentOS_7java]#ll/usr/java/ total4 lrwxrwxrwx.1rootroot16Apr2411:01default->/usr/java/latest drwxr-xr-x.8rootroot4096Apr2411:01jdk1.7.0_80 lrwxrwxrwx.1rootroot21Apr2411:01latest->/usr/java/jdk1.7.0_80

如果想要解除安裝這個軟體

1 2 3 [bash] [root@CentOS_7jdk1.7.0_80]#rpm-qjdk#查詢名稱 jdk-1.7.0_80-fcs.x86_64 [root@CentOS_7jdk1.7.0_80]#rpm-ejdk-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_7soft]#rpm-ivh--prefix=/usr/local/javajdk-7u80-linux-x64.rpm Preparing...#################################[100%] Updating/installing... 1:jdk-2000:1.7.0_80-fcs#################################[100%] UnpackingJARfiles... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar... ln:failedtocreatesymboliclink‘/usr/java/jdk1.7.0_80’:Nosuchfileordirectory

最後提示symbolic link 軟連線失敗。

在這裡我插幾句,介紹一下指定安裝目錄的問題:

還有一種方法可以指定安裝目錄:

1 [bash] [root@CentOS_7soft]#rpm-ivh--badreloc--relocate/usr/java=/usr/local/javajdk-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_7soft]#rpm-qpijdk-7u80-linux-x64.rpm#檢視包資訊query--package--install Name:jdk Epoch:2000 Version:1.7.0_80 Release:fcs Architecture:x86_64 InstallDate:(notinstalled) Group:Development/Tools Size:219404663 License:http://java.com/license Signature:(none) SourceRPM:jdk-1.7.0_80-fcs.src.rpm BuildDate:Sat11Apr201511:15:36AMCST BuildHost:sca00efd.us.oracle.com Relocations:/usr/java Packager:JavaSoftware<[email protected]> Vendor:OracleCorporation URL:URL_REF Summary:JavaPlatformStandardEditionDevelopmentKit Description: TheJavaPlatformStandardEditionDevelopmentKit(JDK)includesboth theruntimeenvironment(Javavirtualmachine,theJavaplatformclasses andsupportingfiles)anddevelopmenttools(compilers,debuggers, toollibrariesandothertools). TheJDKisadevelopmentenvironmentforbuildingapplications,applets andcomponentsthatcanbedeployedwiththeJavaPlatformStandard EditionRuntimeEnvironment.

但是無論是prefix還是relocate都不見得可以真正可以用,因為有的包或者檔案不允許裝到其他路徑,比如oracleasm-support-2.1.8-1.el6.x86_64.rpm。

好了,言歸正傳

配置一下環境變數

1 2 3 4 5 [bash] [root@CentOS_7java]#vim/etc/profile#增加以下內容 exportJAVA_HOME=/usr/local/java/jdk1.7.0_80 exportJRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib exportPATH=${JAVA_HOME}/bin:$PATH

儲存退出重新載入測試:

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

版權屬於: 技術客

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

著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。