Невозможно удалить JDK - /usr/sbin/alternatives: нет такого файла или каталога

Когда я пытаюсь удалить 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)

3 ответа

Решение

Попробуйте создать файл в этой папке и выполнить команду удаления, затем:

sudo mkdir -p /usr/java
sudo touch /usr/java/aa
sudo touch /usr/sbin/alternatives
sudo apt-get remove jdk1.8.0-40

РЕДАКТИРОВАТЬ:


Попробуйте это: эхо "" | sudo tee /var/lib/dpkg/info/jdk1.8.0-40.postrm

/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

( источник)

это из-за ошибки «E: пакет jre1.8.0-51 необходимо переустановить, но я не могу найти для него архив».

sudo dpkg --remove --force-remove-reinstreq jre1.8.0-51

Другие вопросы по тегам