JDK不存在于系统中,但系统表示需要将其删除

时间:2016-08-25 15:36:24

标签: 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)

1 个答案:

答案 0 :(得分:1)

问题已解决。

分析了文件出错的原因,并弄明白我做错了什么。

我在jdk坏了的时候卸载了java。因此,当我尝试卸载jdk时,它将运行第586和598行上的函数,该函数引用了我已删除的java的替代版本。

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

echo "Hello World"

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