删除损坏的 java 安装 (linux)

Remove broken java installation (linux)

我的 Java 安装不知何故搞砸了,现在我明白了:

$ sudo apt-get remove jre1.8.0_66
(Reading database ... 55212 files and directories currently installed.)
Removing jre1.8.0-65 ...
find: `/usr/java/*': No such file or directory
/var/lib/dpkg/info/jre1.8.0-65.postrm: line 586: /usr/sbin/alternatives: No such file or directory
dpkg: error processing jre1.8.0-65 (--remove):
 subprocess installed post-removal script returned error exit status 127
Errors were encountered while processing:
 jre1.8.0-65
E: Sub-process /usr/bin/dpkg returned an error code (1)

如何强制删除它? java 文件的文件夹是空的,但每次我安装东西时都会显示...

编辑:Linux 说是一半 installed/removed:

0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
/usr/sbin/alternatives: No such file or directory

Debian 中没有 /usr/sbin/alternatives,Ubuntu 或它们的克隆。 相反,有 /usr/bin/update-alternatives.

我建议使用临时符号 link 来解决转换错误的 RPM 包:

mkdir -p /usr/sbin
ln -s /usr/bin/update-alternatives /usr/sbin/alternatives

验证您机器上的可用安装:-

 sudo update-alternatives --config java

There are 3 choices for the alternative java (providing /usr/bin/java).  


     Selection    Path                                     Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-oracle/jre/bin/java   3         auto mode
    * 1            /usr/lib/jvm/java-6-oracle/jre/bin/java   3         manual mode
      2            /usr/lib/jvm/java-7-oracle/jre/bin/java   2         manual mode
      3            /usr/lib/jvm/java-8-oracle/jre/bin/java   1         manual mode

    Press <enter> to keep the current choice[*], or type selection number:

现在先删除现有的符号链接

sudo update-alternatives --remove "java" "/usr/lib/jvm/java-8-oracle/jre/bin/java"
sudo update-alternatives --remove "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java"
sudo update-alternatives --remove "java" "/usr/lib/jvm/java-6-oracle/jre/bin/java"

--------javac

sudo update-alternatives --config javac
There are 3 choices for the alternative java (providing /usr/bin/javac).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-oracle/jre/bin/javac   3         auto mode
* 1            /usr/lib/jvm/java-6-oracle/jre/bin/javac   3         manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/javac  2         manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/javac  1         manual mode

Press <enter> to keep the current choice[*], or type selection number: 

现在删除符号链接

sudo update-alternatives --remove "javac" "/usr/lib/jvm/java-8-oracle/jre/bin/javac"
sudo update-alternatives --remove "javac" "/usr/lib/jvm/java-7-oracle/jre/bin/javac"
sudo update-alternatives --remove "javac" "/usr/lib/jvm/java-6-oracle/jre/bin/javac"

--如果您发现 javaws 有任何问题,请按照相同的步骤删除

是时候将符号链接设置到您的位置,下载您喜欢的linux java版本并将解压缩的目录移动到 正确的位置,例如 /usr/lib/jvm/,您从 java-6-oracle

等站点名称中获得的通用命名标准代替了该标准
sudo update-alternatives --set java /usr/lib/jvm/java-8-oracle/jre/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-8-oracle/jre/bin/javac
sudo update-alternatives --set javaws /usr/lib/jvm/java-8-oracle/jre/bin/javaws

与您想要的版本相同,只需 运行 放置在所需位置后的上述命令即可。

使用 sudo update-alternatives --config java 更改 jave 版本并选择选项。

如果需要任何帮助,请留下评论。