当我尝试删除 Java 时,sudo apt-get remove jdk1.8.0-40
出现以下信息:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
jdk1.8.0-40
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 245 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 231488 files and directories currently installed.)
Removing jdk1.8.0-40 (1.8.040-1) ...
find: `/usr/java/*': No such file or directory
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 586: /usr/sbin/alternatives: No such file or directory
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 598: /usr/sbin/alternatives: No such file or directory
dpkg: error processing package jdk1.8.0-40 (--remove):
subprocess installed post-removal script returned error exit status 127
Errors were encountered while processing:
jdk1.8.0-40
E: Sub-process /usr/bin/dpkg returned an error code (1)
输出 ls -1 /var/cache/apt/archives/*jdk*
:
openjdk-7-jre_7u75-2.5.4-1~trusty1_amd64.deb
openjdk-7-jre-headless_7u75-2.5.4-1~trusty1_amd64.deb
输出sudo dpkg --purge --force-all jdk1.8.0-40
:
(Reading database ... 231488 files and directories currently installed.)
removing jdk1.8.0-40 (1.8.040-1) ...
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 586: /usr/sbin/alternatives: No such file or directory
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 598: /usr/sbin/alternatives: No such file or directory
dpkg: error processing package jdk1.8.0-40 (--purge):
subprocess installed post-removal script returned error exit status 127
Errors were encountered while processing:
jdk1.8.0-40
当我尝试编辑时,我得到了这个:
(Reading database ... 231488 files and directories currently installed.)
Removing jdk1.8.0-40 (1.8.040-1) ...
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 586: /usr/sbin/alternatives: Permission denied
/var/lib/dpkg/info/jdk1.8.0-40.postrm: line 598: /usr/sbin/alternatives: Permission denied
dpkg: error processing package jdk1.8.0-40 (--remove):
subprocess installed post-removal script returned error exit status 126
Errors were encountered while processing:
jdk1.8.0-40
E: Sub-process /usr/bin/dpkg returned an error code (1)
答案1
/usr/sbin/alternatives: No such file or directory
/usr/sbin/alternatives
Debian、Ubuntu 等 Debian 克隆版本中没有。取而代之的是/usr/bin/update-alternatives
。我建议使用临时的符号链接来解决转换错误的 RPM 包:
mkdir -p /usr/sbin ln -sT -- /usr/bin/update-alternatives /usr/sbin/alternatives
(来源)
答案2
尝试在该文件夹中创建一个文件并执行卸载命令:
sudo mkdir -p /usr/java
sudo touch /usr/java/aa
sudo touch /usr/sbin/alternatives
sudo apt-get remove jdk1.8.0-40
编辑:
试试这个:echo“”| sudo tee /var/lib/dpkg/info/jdk1.8.0-40.postrm
答案3
这是由于错误“E:需要重新安装软件包 jre1.8.0-51,但我找不到它的存档。”
sudo dpkg --remove --force-remove-reinstreq jre1.8.0-51