1、更新软件包
#:sudo apt-get update
2、安装openjdk
#:sudo apt-get install openjdk-8-jdk
3、查看openjdk装哪了
#:update-alternatives --config java
apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
Linux发行版中, Debian系的提供了一个update-alternatives工具,用于在多个同功能的软件,或软件的多个不同版本间选择。
比如, 系统默认安装OpenJDK, 但项目需要Oracle版的Java, 通常直接删除它会导致某些程序运行出错. 当然, 如果你通过Ubuntu的PPA安装Oracle版是不会有问题的. 你若从Oracle官网下载JDK包, 将执行程序加入PATH并设置相应环境变量, 如果只是这样, 通常某些程序的运行会提示找不到JDK.
加入PATH的位置也值得考察, 如果在默认PATH后, Java命令使用的仍然是系统的OpenJDK, 加在PATH前, 可能会覆盖系统的某些二进行程序, 毕竟, “$JAVA_HOME/bin”内并不只Java一个程序.
因此, 这里推荐使用update-alternatives小工具.
初步
update-alternatives本质上是通过建立两重软链接的方式工作的. 其在shell命令与真正的执行程序间加入匹配层。
ll /usr/bin/vim
#=> /usr/bin/vim -> /etc/alternatives/vim
ll /etc/alternatives/vim
#=> /etc/alternatives/vim -> /usr/bin/vim.basic
ll /usr/bin/vim.basic
#=> /usr/bin/vim.basic
真正的程序是/usr/bin/vim.basic, 而我们在shell中键入vim会先找到/usr/bin/vim,在找到/etc/alternatives/vim, 再找到/usr/bin/vim.basic.
比如,安装Oracle Java,在设置JAVA_HOME的环境变量并加入PATH环境变量后,并不能正常启动eclipse.
sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 100
sudo update-alternatives --remove java $JAVA_HOME/bin/java
上述命令完成建立/usr/bin/java到/etc/alternatives/java再到$JAVA_HOME/bin/java符号链接的建立. 事实上, 你可以安装多个版本的Java, 再将相应命令写入脚本, 在需要时运行脚本即可随时切换. 注意, 这同修改PATH不同, 无需重新载入.bashrc文件.
用法
安装:
sudo update-alternatives --install link name path priority [ --slave slink sname spath]
选项注释:
- link是在/usr/bin/,/usr/local/bin/等默认PATH搜索目录
- name是在/etc/alternatives目录中的链接名
- path是真正的可执行程序的位置,可以在任何位置
- priority是优先级
打印名字的相关链接:
sudo update-alternatives --display name
配置名字的相关链接:
sudo update-alternatives --config name
移除名字的相关链接:
sudo update-alternatives --remove name path
因为优先级的存在,可以为同一个name设置多个path,当删除一个path后,默认连接到slave上.
移除所有名字相关的链接:
sudo update-alternatives --remove-all name