update-alternatives
, 是用来维护命令链接的工具, 具体有什么用、怎么用以及它的工作方式等内容,就通过接下来的示例说明。
以 java 命令为例子
查看当前 java 命令使用的是哪个版本。
$ ll /usr/bin/java |
从上可知, 使用的是 java-7-openjdk-amd64。
--display
& --query
同时, 我们可以用 update-alternatives 查看当前的 java 对应的是哪个 bin。
--display 查看当前使用的:
$ update-alternatives --display java |
--query 显示更多的 alternatives :
niko@ubuntu14:~$ update-alternatives --query java |
--install
使用 --install 可以新增我们的 jdk 8 java 命令 ,使用方法是:
update-alternatives --install needs <link> <name> <path> <priority> |
执行:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_66/bin/java" 3 |
查看 install 结果:
$ update-alternatives --query java |
如上可知, java 还是 7 的版本。
--config
此时, 需要用 --config
设置想要的 alternative :
sudo update-alternatives --config java
$ sudo update-alternatives --config java |
如上, 可以选择想要的 alternatives,下面测试是否确实切换成功:
$ java -version |
再看链接, 发现也已经被修改了, 如下:
$ ll /usr/bin/java |
如上, 更新成功了,使用 java 命令默认使用 Java 8 了。
--remove
上面查看 java 时, 觉得第一行和第二行重复了,可以删掉不想要的 alternatives, 用法:
sudo update-alternatives --remove name path
具体例子, 如下移除成功:
sudo update-alternatives --remove java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java |
--set
除了 --config , 还可以更直接使用 --set 进行设置(不过必须先 --install ):
# 查看当前的选择 |
参考
https://www.thomas-krenn.com/en/wiki/Manual_Installation_of_Oracle_Java_JRE_6_or_SE_7_in_Ubuntu