我不记得在我的 Ubuntu 20.4 系统上安装过 java,所以我问有没有办法知道它是否预装在操作系统发行版上。我通常只希望安装 JRE,而不是 JDK。
搜索答案说Ubuntu 20.04包含Open JDK 11。但我似乎安装了Java JDK 8。
java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
所以我猜我安装了它,只是忘记了我安装了。
或者,有没有办法知道 java 是使用 apt、ufw、yum、rpm 或其他包管理器安装的,还是通过手动安装的cd /opt; tar xzf pkg.tgz
。
我尝试过的
寻找答案让我想到了这一点:
#1------------------------------------------------ ------------
- https://linuxconfig.org/list-installed-packages-on-ubuntu-20-04-focal-fossa-linux- 搜索时发现
list of packages installed on ubuntu 20.04
。它说我可以跑apt list --installed | egrep -i 'jdk|java'
。输出如下所示
apt list --installed | egrep -i 'jdk|java'
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
ca-certificates-java/focal,focal,now 20190405ubuntu1 all [installed,automatic]
gir1.2-javascriptcoregtk-4.0/focal-updates,focal-security,now 2.30.6-0ubuntu0.20.04.1 amd64 [installed,automatic]
java-common/focal,focal,now 0.72 all [installed,automatic]
javascript-common/focal,focal,now 11 all [installed,automatic]
libatk-wrapper-java-jni/focal,now 0.37.1-1 amd64 [installed,automatic]
libatk-wrapper-java/focal,focal,now 0.37.1-1 all [installed,automatic]
libjavascriptcoregtk-4.0-18/focal-updates,focal-security,now 2.30.6-0ubuntu0.20.04.1 amd64 [installed,automatic]
libjuh-java/focal-updates,focal-updates,now 1:6.4.6-0ubuntu0.20.04.1 all [installed,automatic]
libjurt-java/focal-updates,focal-updates,now 1:6.4.6-0ubuntu0.20.04.1 all [installed,automatic]
libridl-java/focal-updates,focal-updates,now 1:6.4.6-0ubuntu0.20.04.1 all [installed,automatic]
libunoloader-java/focal-updates,focal-updates,now 1:6.4.6-0ubuntu0.20.04.1 all [installed,automatic]
openjdk-8-jdk-headless/focal-updates,focal-security,now 8u282-b08-0ubuntu1~20.04 amd64 [installed,automatic]
openjdk-8-jdk/focal-updates,focal-security,now 8u282-b08-0ubuntu1~20.04 amd64 [installed]
openjdk-8-jre-headless/focal-updates,focal-security,now 8u282-b08-0ubuntu1~20.04 amd64 [installed,automatic]
openjdk-8-jre/focal-updates,focal-security,now 8u282-b08-0ubuntu1~20.04 amd64 [installed]
所以我正在查看[installed,automatic]
并想知道这是否告诉我它是预安装的(或随操作系统安装一起提供)。
#2------------------------------------------------ ------------
- https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-20-04,这告诉我默认情况下安装了 Open JDK 11,但情况似乎并非如此(但它可能在我没有看过的地方)。
在我工作过的其他一些 Linux 系统上,他们也使用了该alternatives
命令。看https://www.redhat.com/sysadmin/alternatives-command或者https://linux.die.net/man/8/update-alternatives。
下面是来自 linux.die.net 网站的一段引用,仅供参考,以防链接在将来某个时候停止工作。
Alternatives 创建、删除、维护和显示有关组成替代系统的符号链接的信息。替代系统是 Debian 替代系统的重新实现。它被重写主要是为了消除对 perl 的依赖;它旨在替代 Debian 的更新依赖项脚本。此手册页是 Debian 项目手册页的稍微修改版本。
#3------------------------------------------------ ------------
- https://www.cyberciti.biz/faq/install-java-on-ubuntu-20-04-linux/- 解释了如何在 Ubuntu 20.04 上安装 Java。
答案1
Ubuntu 20.04 预装了 openjdk 11。您已使用apt
(或安装脚本)手动安装了 openjdk 8,因为内部版本号1.8.0_282-8u282-b08-0ubuntu1~20.04-b08
表明该软件包属于 Ubuntu 存储库。