原文链接:https://www.jb51.cc/servers/502715.html
update-alternatives 命令用于处理Linux中软件版本的切换,在各个linux发行版中均提供了该命令,命令参数略有区别,但大致是一样的。
1、 注册软件
以jdk为例,安装了jdk以后,先要在update-alternatives工具中注册;
# update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 200 # update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_111/bin/java 300
其中:
第一个参数–install表示向update-alternatives注册服务名。
第二个参数是注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;
第三个参数:服务名,以后管理时以它为关联依据。
第四个参数,被管理的命令绝对路径。
第五个参数,优先级,数字越大优先级越高。
2、查看已注册列表
# update-alternatives --display java java - status is auto. link currently points to /opt/install/jdk1.8.0_111/bin/java /opt/install/jdk1.8.0_91/bin/java - priority 200 /opt/install/jdk1.8.0_111/bin/java - priority 300 Current `best' version is /opt/install/jdk1.8.0_111/bin/java.
3、 修改命令版本
注意–display开关使用时第一行信息:
java - auto/manual mode
默认为自动版本,根据优先级,使用优先级高的。
下面手动修改为jdk1.8.0_91:
交互式修改
交互式会提示一所有可用的列表, 选择对应的索引确认。
# update-alternatives --config java There are 2 programs which provIDe 'java'. Selection Command ----------------------------------------------- 1 /opt/install/jdk1.8.0_91/bin/java *+ 2 /opt/install/jdk1.8.0_111/bin/java Enter to keep the current selection[+],or type selection number: 1 # java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14,mixed mode) # update-alternatives --display java java - status is manual. link currently points to /opt/install/jdk1.8.0_91/bin/java /opt/install/jdk1.8.0_91/bin/java - priority 200 /opt/install/jdk1.8.0_111/bin/java - priority 300 Current `best' version is /opt/install/jdk1.8.0_111/bin/java.
看到当前状态变成了manual。
修改为自动:
# update-alternatives --auto java # java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14,mixed mode) # update-alternatives --display java java - status is auto. link currently points to /opt/install/jdk1.8.0_111/bin/java /opt/install/jdk1.8.0_91/bin/java - priority 200 /opt/install/jdk1.8.0_111/bin/java - priority 300 Current `best' version is /opt/install/jdk1.8.0_111/bin/java.
又改为按照优先级高的了。
立即修改
除了交互式修改,也可以使用一条命令直接修改,修改后立即生效。
# update-alternatives --set java /opt/jdk1.8.0_91/bin/java
该情形适用于你对路径很熟悉,或者你已经进入了该路径:
# cd /opt/jdk1.8.0_91/bin/ # update-alternatives --set java $PWD/java
原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/267660.html