Azureus отлично работает на последней версии Java, но его проверка зависимостей запрашивает устаревшую версию JRE. Как сказать Ubuntu, чтобы он перестал ворчать на меня за «неудовлетворенную зависимость»?

Azureus отлично работает на последней версии Java, но его проверка зависимостей запрашивает устаревшую версию JRE. Как сказать Ubuntu, чтобы он перестал ворчать на меня за «неудовлетворенную зависимость»?

Поэтому я принудительно установил Vuze (и его зависимость Azureus) через apt-get, и он отлично работает на default-jre.

Несмотря на то, что default-jre работает как зависимость для Azureus (по крайней мере, для моего сценария использования), проверка зависимостей внутри пакета Azureus требует более старую и устаревшую версию JRE, и я получаю сообщение о неудовлетворенных зависимостях.

Каждый раз, когда я выполняю какую-либо операцию apt-get, я получаю следующее:

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 azureus : Depends: openjdk-7-jre but it is not installable or
                    openjdk-6-jre but it is not installable or
                    sun-java5-jre but it is not installable or
                    sun-java6-jre but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Редактировать: Я не хочу "решать" проблему зависимости, потому что нет проблемы зависимости, которую нужно решить. Предупреждение ошибочно, потому что проверка зависимости внутри Azureus устарела.

Есть ли способ заставить Ubuntu игнорировать зависимости для этого конкретного пакета?

решение1

Вы не можете заставить Ubuntu игнорировать проблему, но вы можете ее имитировать.установка пакета путем создания фиктивной версии. Это нечтоболезненно.

sudo apt install equivs
nano openjdk-7-jre

Вставьте что-то вроде следующего:

Section: misc
Priority: optional

Package: openjdk-7-jre
Description: Dummy package

И затем запустите:

equivs-build openjdk-7-jre
sudo dpkg -i openjdk-7-jre_1.0_all.deb

решение2

Я нашел другой "возможно более подходящий" ответ. Это даст вам возможность отредактировать неправильную зависимость внутри пакета-виновника. В отличие от метода фиктивного пакета, это не повлияет на всю систему.

Вам нужно atool( sudo apt install dpkg-dev devscripts atool) и gdebi( dpkgтоже подойдет, но я предпочитаю gdebi)

$pkg= имя пакета, вызывающего проблему.

apt-get download $pkg
mkdir pkg
atool -X pkg $pkg
vi pkg/DEBIAN/control
# [This is where you edit out the wrong dependencies]
rm -vf $pkg && dpkg-deb -b pkg $pkg
sudo gdebi $pkg

В моем случае мне пришлось отредактировать следующую строку:

Depends: openjdk-7-jre | openjdk-6-jre | sun-java5-jre | sun-java6-jre, libcommons-cli-java, liblog4j1.2-java, libswt-gtk-3-java, java-wrappers

Спасибо sergall заэто решение. Метод проверен мной лично.

решение3

"Is there any way to tell Ubuntu to ignore the dependencies for this specific package?"

Нет.

Почему

Если вам нужно поговорить с французом, вам нужен переводчик - или выучите французский - который переведет французские слова на английский для вас. Вы dependна этом переводчике - или каком-то другом носителе - чтобы поговорить properlyс этим человеком.

У Vuze есть свои собственные зависимости, над которыми он dependsработает properly.

Кроме того, у Linux есть многолучшие, более быстрые, безопасные торрент-клиентыдоступно по умолчанию.

Ссылки

Связанный контент