linux - 系统上不存在 JDK,但系统表示需要将其删除

标签 linux ubuntu

所以我尝试构建 Oracle 提供的 .rpm 文件。安装不是 100% 成功所以我想卸载它并用这个 openjdk 的简单方法来完成它,但现在我什么都不能安装,因为 linux 告诉我 jdk 在系统上,而它不在。 Linux 试图删除它,但未能阻止我安装任何东西:

例如,如果我尝试过

sudo apt install openjdk-7-jdk

它给了我这个:

0 upgraded, 38 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/62,5 MB of archives.
After this operation, 162 MB disk space will be freed.

Do you want to continue? [Y/n] y
Extracting templates from packages: 100%
(Reading database ... 183637 files and directories currently installed.)
Removing jdk1.8.0-101 (1.8.0101-fcs-1) ...
find: `/usr/java/*': No such file or directory
/var/lib/dpkg/info/jdk1.8.0-101.postrm: line 586: /usr/sbin/alternatives: No such file or directory
/var/lib/dpkg/info/jdk1.8.0-101.postrm: line 598: /usr/sbin/alternatives: No such file or directory
dpkg: error processing package jdk1.8.0-101 (--remove):
subprocess installed post-removal script returned error exit status 127
Errors were encountered while processing:
jdk1.8.0-101
E: Sub-process /usr/bin/dpkg returned an error code (1)

最佳答案

问题已解决。

分析了出错的文件并弄清楚我做错了什么。

我在jdk坏掉的时候卸载了java。结果,当我尝试卸载 jdk 时,它会运行第 586 和 598 行中的函数,该函数引用了我已删除的 java 的替代版本。

因为我已经毫无问题地卸载了 java,所以那些函数没有用,所以我只是编辑了函数的内容,以防脚本的其余部分需要它们来简化:

echo "Hello World"

正如预期的那样,当我卸载 jdk 时,它给了我两次“Hello World”。现在已经完全卸载了。 无论如何,感谢所有帮助。

关于linux - 系统上不存在 JDK,但系统表示需要将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149381/

相关文章:

linux - xdg-打开 : no method available for opening 'http://localhost:8080'

linux - Linux 上的共享与继承信号处理程序

bash - CLI 设置 env 文件的变量

ubuntu - SSM 始终以 Ubuntu 用户身份登录?

postgresql - 如何使用您的用户名进入 postgres?

linux - 如何一站式获得Linux终端历史记录?

linux - 如何知道进程是否正在等待 stdin?

java - 为什么在linux下运行时不显示任何帧?

apache - 无法访问 Koha

linux - 如何在 EC2 实例重新启动时运行命令?