說明:
如我系統(tǒng)已安裝有java 1.6,,還想要安裝java 1.7,,但我不想卸載java 1.6。就可以通過update-alternatives –config在多個java版本間進程切換,。update-alternatives是用于在多個同類型命令中進行切換的一個腳本,,在debian中可以通過apt-get install dpkg來進行安裝。
在說明update-alternatives的詳細用法之前,,先讓我們看看系統(tǒng)中已有的例子,。打開終端,執(zhí)行下面的命令:
# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 2011-03-12 15:20 /usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 40 2011-03-12 15:20 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk/jre/bin/java
java這個可執(zhí)行命令實際是一個鏈接,,指向了/etc/alternatives/java,。而這個也是一個鏈接,指向了/usr/lib/jvm/java-6-openjdk/jre/bin/java,,這才是最終的可執(zhí)行文件,。之所以建立這樣兩個鏈接,是為了方便腳本程序的編寫和系統(tǒng)的管理,。
語法:
暫空?。。?br>
實例:
1. display參數(shù)列出一個命令的所有可選命令
# update-alternatives --display java
2. config參數(shù)用于給某個命令選擇一個link值,,相當于在可用值之中進行切換吧,。
# update-alternatives --config java //有 3 個候選項可用于替換 java (提供 /usr/bin/java)
選擇 路徑 優(yōu)先級 狀態(tài)
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自動模式
* 1 /home/wuekzhu/download/jdk1.6.0_23/bin/java 1 手動模式
2 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手動模式
3. install參數(shù)用于添加一個命令的link值,相當于添加一個可用值,,其中slave非常有用,。
# update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100
# update-alternatives –install /usr/bin/java java /usr/local/jre1.6.0_20/bin/javac 100 –slave /usr/bin/javac javac /usr/local/jre1.6.0_20/bin/javac
4. remove參數(shù)用于刪除一個命令的link值,其附帶的slave也將一起刪除,。
# update-alternatives –remove java /usr/local/jre1.6.0_20/bin/java
當然如果想讓java能使用,,還是得把java按照如下添加到環(huán)境變量去。
# vim /etc/profile //在最后添加以下內(nèi)容
JAVA_HOME=/usr/local/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH: $JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
如果想通過update-alternatives在多個版本的java間切換,,只需簡單地用update-alternatives –config java,,選擇我們想要的java版本即可!
附錄:
附錄1./etc/profile中path的設(shè)置,,可以選擇覆蓋或不覆蓋/usr/bin/java命令,。
如果我這樣設(shè)置profile,那么會使用jdk1.5 :
#set java environment
JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
如果我這樣設(shè)置profile,,那么會使用/usr/bin/java – > /etc/alternatives/java :
#set java environment
JAVA_HOME=/home/wuekzhu/download/jdk1.5.0_22
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$PATH: $JAVA_HOME/bin
轉(zhuǎn)載請注明:酷喃|coolnull| ? update-alternatives命令詳解
|