У меня проблема с выполнением apt-get

Моя версия Ubuntu - 14.04 Kylin. Я удалил что-то неправильно, когда попытался удалить Java. И с тех пор у меня возникли проблемы с выполнением apt-get,

kael@ASUS:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  jdk1.8.0-45
0 to upgrade, 0 to newly install, 1 to remove and 65 not to upgrade.
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 ... 258011 files and directories currently installed.)
Removing jdk1.8.0-45 (1.8.045-1) ...
/var/lib/dpkg/info/jdk1.8.0-45.postrm: line 586: /usr/sbin/alternatives: No such file or directory
/var/lib/dpkg/info/jdk1.8.0-45.postrm: line 598: /usr/sbin/alternatives: No such file or directory
dpkg: error processing package jdk1.8.0-45 (--remove):
 subprocess installed post-removal script returned error exit status 127
Errors were encountered while processing:
 jdk1.8.0-45
E: Sub-process /usr/bin/dpkg returned an error code (1)

3 ответа

Если все другие варианты потерпят неудачу, сделайте то, что я сделал. Другая информация, я попал сюда, пытаясь установить пакет rpm jdk8 на Linux Mint 17(Ubuntu)

sudo rm -ri /usr/java/

он попросит пароль, а затем попросит убедиться, что вы хотите удалить этот каталог. нажмите "y" и введите / верните

затем откройте /var/lib/dpkg/info/ как root и удалите все файлы с "jdk1.8.0-xx.xxxx", как только завершите удаление, запустите

sudo dpkg -r --force-all jdk1.8.0-45

Если вы пытаетесь установить JDK 8. Эта страница будет полезна, потому что она работает для меня.(Linux Mint 17 Cinnamon 64bit) http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/ с помощью-рра /

Попробуйте создать отсутствующий файл, как предложено здесь. Следить:

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

Затем удалите Java с помощью:

sudo dpkg --purge --force-all jdk1.8.0-45

Проблема в том, что jdk1.8.0-45"s dpkgскрипт после удаления завершается из-за ошибки, возникшей во время его выполнения (возможно, из-за того, что вы удалили); это приводит dpkg выйти так же.

Одно из решений - заставить скрипт после удаления не завершать работу при ошибках; это можно сделать, отключив e атрибут в sh экземпляр, в котором будет выполняться, т.е. путем удаления set -e строка в самом скрипте (путь к скрипту должен быть /var/lib/dpkg/info/jdk1.8.0-45.postrm).

Сделав это, вы сможете запустить sudo apt-get install -f без ошибок.

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