Поэтому я принудительно установил 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 есть многолучшие, более быстрые, безопасные торрент-клиентыдоступно по умолчанию.
Ссылки