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 删除注册的版本