问题说明
在Ubuntu18.04上执行以下代码:
apt install default-jre
出现了
Err:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/main amd64 openjdk-11-jre-headless amd64 11.0.16+8-0ubuntu1~18.04
404 Not Found [IP: 101.6.15.130 80]
Err:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/main amd64 openjdk-11-jre amd64 11.0.16+8-0ubuntu1~18.04
404 Not Found [IP: 101.6.15.130 80]
E: Failed to fetch http://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/o/openjdk-lts/openjdk-11-jre-headless_11.0.16+8-0ubuntu1~18.04_amd64.deb 404 Not Found [IP: 101.6.15.130 80]
E: Failed to fetch http://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/o/openjdk-lts/openjdk-11-jre_11.0.16+8-0ubuntu1~18.04_amd64.deb 404 Not Found [IP: 101.6.15.130 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
1. 尝试换源
前往清华镜像站,发现并没有提到的openjdk-11-jre_11.0.16+8-0ubuntu1~18.04_amd64.deb包。
随后又前往了阿里镜像站、中科院镜像站,最后去了最开始没有进行换源时的仓库:http://archive.ubuntu.com//ubuntu/pool/main/o/openjdk-lts/
均没有找到错误中提及的包。
2. 尝试手动安装Java
尝试直接从官网上下载Java包进行安装。
下载网址:
教程见:ubuntu 安装 java_蓝色枫叶丿的博客-CSDN博客
但是依然没有解决问题,又出现了以下错误:
The following packages have unmet dependencies:
openjdk-11-jre-headless : Depends: ca-certificates-java but it is not going to be installed
Depends: libnss3 (>= 2:3.17.1) but it is not going to be installed
Depends: libpcsclite1 (>= 1.3.0) but it is not going to be installed
pypy : Depends: pypy-lib (= 5.10.0+dfsg-3build2) but it is not going to be installed
virtualenv : Depends: python3-virtualenv but it is not going to be installed
W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:11 and /etc/apt/sources.list.d/docker.list:1
W: Target Packages (stable/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:11 and /etc/apt/sources.list.d/docker.list:1
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
解决方案
最后参考了Ubuntu卸载 JAVA_orangeox的博客-CSDN博客,执行了以下命令后成功解决(但不知道具体原理):
apt uninstall openjdk-11-jre-headless
apt-get remove openjdk-11-jre-headless
再次运行
apt update
apt install java-common default-jre default-jdk
不再出错,执行java -version,显示JAVA已安装成功:
后记
这次错误出现和解决的很怪,具体错误原因还有待进行下一步的研究。