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

相关文章
相关标签/搜索