update-alternatives命令詳解

說明:java

如我係統已安裝有java 1.6,還想要安裝java 1.7,但我不想卸載java 1.6。就能夠經過update-alternatives –config在多個java版本間進程切換。update-alternatives是用於在多個同類型命令中進行切換的一個腳本,在debian中能夠經過apt-get install dpkg來進行安裝。vim

在說明update-alternatives的詳細用法以前,先讓咱們看看系統中已有的例子。打開終端,執行下面的命令:jvm

# 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這個可執行命令實際是一個連接,指向了/etc/alternatives/java。而這個也是一個連接,指向了/usr/lib/jvm/java-6-openjdk/jre/bin/java,這纔是最終的可執行文件。之因此創建這樣兩個連接,是爲了方便腳本程序的編寫和系統的管理。code

實例:
1. display參數列出一個命令的全部可選命令進程

# update-alternatives --display java

2. config參數用於給某個命令選擇一個link值,至關於在可用值之中進行切換吧。rem

# update-alternatives --config java  //有 3 個候選項可用於替換 java (提供 /usr/bin/java)  
 選擇       路徑                                       優先級  狀態  
------------------------------------------------------------  
  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參數用於添加一個命令的link值,至關於添加一個可用值,其中slave很是有用。get

# 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參數用於刪除一個命令的link值,其附帶的slave也將一塊兒刪除。變量

# update-alternatives –remove java /usr/local/jre1.6.0_20/bin/java

固然若是想讓java能使用,仍是得把java按照以下添加到環境變量去。jdk

# vim /etc/profile //在最後添加如下內容
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版本便可!date

相關文章
相關標籤/搜索