所以我尝试构建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)
答案 0 :(得分:1)
问题已解决。
分析了文件出错的原因,并弄明白我做错了什么。
我在jdk坏了的时候卸载了java。因此,当我尝试卸载jdk时,它将运行第586和598行上的函数,该函数引用了我已删除的java的替代版本。
因为我已经卸载了没有问题的java,那些函数无用,所以我只编辑了函数的内容,以防脚本的其余部分需要它们简单:
echo "Hello World"
正如预期的那样,当我卸载jdk时,它给了我两次" Hello World"。现在已完全卸载。 感谢所有帮助。