Как мне восстановить apt-get install после смешанной установки с rpm?

У меня Ubuntu 16.04.1 LTS Desktop, но я следовал инструкциям по установке Oracle Java Runtime для упакованного менеджера rpm.

https://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jre.html

rpm -ivh jre-8uversion-linux-x64.rpm

Не удалось установить, и я просто отказался от него. Тем не менее, теперь, когда я использую sudo apt-get upgrade Я получаю множество ошибок.

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up jre1.8.0-101 (1.8.0101-1) ...
Unpacking JAR files...
        plugin.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/plugin.pack
        javaws.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/javaws.pack
        deploy.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/deploy.pack
        rt.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/rt.pack
        jsse.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/jsse.pack
        charsets.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/charsets.pack
        localedata.jar...
Error: Could not open input file: /usr/java/jre1.8.0_101/lib/ext/localedata.pack
/var/lib/dpkg/info/jre1.8.0-101.postinst: line 641: /usr/sbin/alternatives: No such file or directory
dpkg: error processing package jre1.8.0-101 (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 jre1.8.0-101
E: Sub-process /usr/bin/dpkg returned an error code (1)
$

Как мне отменить этот процесс и исправить систему apt-get? Любое объяснение того, почему не следует смешивать rpm с apt-get, приветствуется.

2 ответа

Я собираюсь ответить на свой собственный вопрос, поскольку я нашел один способ, по-видимому, исправить это.

Я создал манекен /usr/sbin/alternatives файл:

#!/bin/bash
echo "Do nothing"

затем sudo chmod +x /usr/sbin/alternatives,

Затем я положил что-то в /usr/java/ использование каталога sudo touch /usr/java/something.txt,

Когда я побежал sudo apt-get purge jre1.8.0-101 это завершено без ошибок или предупреждений. Я сделал перезагрузку в этот момент. После перезагрузки я удалил два файла выше.

Теперь моя система возвращается в состояние, в котором она находилась до установки rpm.

Попробуйте запустить

   $ sudo apt-get clean
   $ sudo apt-get update
   $ sudo apt-get -y upgrade

после выполнения этих команд перезапустите вашу систему. Если вы получаете ошибку при обновлении или обновлении, попробуйте восстановить файл source.list в /etc/apt/sources.list следующим образом: Вы можете использовать этот трюк. Откройте терминал (нажав Ctrl+Alt+T) и выполните следующие действия.

> Remove the corrupted one

  $ sudo rm /etc/apt/sources.list

> Open software-properties-gtk

  $ sudo software-properties-gtk

Это откроет software-properties-gtk и новый файл sources.list будет создан автоматически.

Then change the server to US or to any other server of your choice. You must enable repositories from the new dialog in order to create new sources.list.
Другие вопросы по тегам