天天看點

kali linux 多版本jdk安裝切換管理

最近更新了kali 系統,把jdk更新到了9.0.4,結果導緻破解burpsuite1.7.32的注冊機不能用了。好像這個注冊機遇到高版本的jdk就不能用了。降低jdk的版本,找了半天,找到了一個完美的解決辦法。

首先去java網站下載下傳jdk包:http://www.oracle.com/technetwork/java/javase/downloads/index.html

然後把jdk包解壓在一個檔案夾裡面:

配置環境變量

export JAVA_HOME=/package/jdk1._80
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
           

給jdk1.8設定序列号:

先看一下目前的jdk版本号:

root@kali:/package# java -version
openjdk version "9.0.4"
OpenJDK Runtime Environment (build .+-Debian-)
OpenJDK -Bit Server VM (build .+-Debian-, mixed mode)
root@kali:/package# 
           

然後我們設定一下需要的jdk版本:

[email protected]:/package# update-alternatives  --config  java
有 3 個候選項可用于替換 java (提供 /usr/bin/java)。

  選擇       路徑                                          優先級  狀态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      自動模式
  1            /package/jdk1.8.0_161/bin/java                   3         手動模式
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手動模式
  3            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      手動模式

要維持目前值[*]請按<Enter鍵>,或者鍵入選擇的編号:1
update-alternatives: 使用 /package/jdk1.8.0_161/bin/java 來在手動模式中提供 /usr/bin/java (java)
[email protected]:/package# 
           

注意:

  1. debian下的這個軟體版本管理工具叫 update-alternatives
  2. 給某版本軟體設定序列号時,install選項的參數是這樣的:

path一定要指向一個可執行的名字叫java的腳本,比如上面的:/package/jdk1.8.0_161/bin/java

在使用update-alternatives 的過程中,我發現了一些不算問題的問題。

在上面的教程中,我們通過該指令在/usr/bin 目錄下建立可執行檔案的軟連結,比如在/usr/bin目錄下建立gcc, jdk的軟連結,進而達到改變gcc,jdk版本的問題。但是如果你自己手動按轉一個版本的gcc在/usr/local/bin 目錄下,并且可執行檔案的名字也叫gcc,那麼你會發現,update-alternative 不再起作用了,無論怎麼修改,gcc指令都是我們自己安裝的哪個版本。這是因為/usr/local/bin 目錄的優先級高于/usr/bin , 二者都在path 環境變量裡,一旦兩個目錄裡都有叫做gcc的可執行檔案,系統就會優先使用/usr/local/bin 目錄下的可執行檔案。這種情況下無論怎樣修改/usr/bin 目錄下的軟連結都不會起作用了。

繼續閱讀