Ubuntu下安装Java8失败:遇Command Not Found及dpkg错误代码(1)
解决Ubuntu安装Oracle Java 8失败的问题
我碰到过不少人用webupd8team的PPA装Java 8失败的情况,毕竟这个PPA早就停止维护了,加上Oracle Java的分发政策调整,很容易出问题。针对你遇到的Command Not Found和E: Sub-process /usr/bin/dpkg returned an error code (1)错误,可以按下面的步骤逐一排查解决:
第一步:修复损坏的dpkg状态
dpkg报错通常是安装过程中断导致缓存或配置损坏,先把这个问题解决:
- 重新配置dpkg:
sudo dpkg --configure -a - 清理apt缓存,移除旧的安装包残留:
sudo apt-get clean && sudo apt-get autoclean
第二步:移除失效的PPA和残留的Java文件
webupd8team的Java PPA已经不再更新,留着反而会导致源错误,先彻底清理:
- 移除目标PPA:
sudo add-apt-repository --remove ppa:webupd8team/java - 彻底卸载残留的Oracle Java 8安装包:
sudo apt-get remove --purge oracle-java8-installer - 自动清理不再需要的依赖包:
sudo apt-get autoremove
第三步:改用OpenJDK 8(推荐方案)
如果没有特殊需求,OpenJDK 8完全可以替代Oracle Java 8,而且通过官方源安装更稳定:
- 更新本地apt源列表:
sudo apt-get update - 安装OpenJDK 8的开发包和运行环境:
sudo apt-get install openjdk-8-jdk openjdk-8-jre - 验证安装是否成功:
正常情况下会输出类似javac -version java -versionjavac 1.8.0_xxx的版本信息。
第四步:如果一定要安装Oracle Java 8
如果必须用Oracle官方版本,现在只能手动下载安装了:
- 前往Oracle官网下载对应Ubuntu系统的Java 8
.deb安装包(需要接受Oracle的许可协议) - 进入下载目录,执行本地安装命令(替换
path/to/为实际文件路径):sudo dpkg -i path/to/jdk-8uXXX-linux-x64.deb - 如果出现依赖缺失的错误,执行以下命令修复:
sudo apt-get install -f - 最后同样用
javac -version验证安装。
内容的提问来源于stack exchange,提问作者Manoj Kumar
相关产品推荐
相关产品推荐

