ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

update-alternatives使用,更改Linux中软件默认版本

2022-06-10 16:36:49  阅读:191  来源: 互联网

标签:bin opt jdk1.8 java alternatives update install Linux


原文链接: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

 

标签:bin,opt,jdk1.8,java,alternatives,update,install,Linux
来源: https://www.cnblogs.com/kongbursi-2292702937/p/16363703.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有