Linux alternatives进行版本切换

alternatives,update-alternatives 可用来对多个版本的软件进行切换

[root@VM_16_5_centos sites]# alternatives --help
alternatives version 1.3.61 - Copyright (C) 2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.

usage: alternatives --install <link> <name> <path> <priority>
                    [--initscript <service>]
                    [--slave <link> <name> <path>]*
       alternatives --remove <name> <path>
       alternatives --auto <name>
       alternatives --config <name>
       alternatives --display <name>
       alternatives --set <name> <path>
       alternatives --list

多版本JDK版本的切换
1、安装不同版本的JDK

[root@VM_16_5_centos java]# ll
total 337524
drwxr-xr-x 8   10  143      4096 Apr 11  2015 jdk1.7.0_79
drwxr-xr-x 7   10  143      4096 Oct  6  2018 jdk1.8.0_191
-rw-r--r-- 1 root root 153512879 Nov 18  2017 jdk-7u79-linux-x64.tar.gz
-rw-r--r-- 1 root root 191753373 Jan  9  2019 jdk-8u191-linux-x64.tar.gz

2、注册版本的软连接

alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_79/bin/java 3
alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_191/bin/java 4

其中:

第一个参数--install表示向alternatives注册服务名。

第二个参数是注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;

第三个参数:服务名,以后管理时以它为关联依据。

第四个参数,被管理的命令绝对路径。

第五个参数,优先级,数字越大优先级越高。

3、切换版本命令

[root@VM_16_5_centos sites]# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           /usr/java/jdk1.7.0_79/bin/java
*+ 2           /usr/java/jdk1.8.0_191/bin/java

Enter to keep the current selection[+], or type selection number: 2

4、输入java -version 确认
5、如果切换后没有反应,先把/etc/profile里面的javahome注释掉,在切换。切换完成后再把注释放开
6、alternatives其他命令:
alternatives --list 查看软件版本
alternatives --display java 显示指令软件的版本
alternatives --remove java /usr/java/jdk1.7.0_79/bin/java 删除注册的版本

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容