Azureus funciona bem no Java mais recente, mas sua verificação de dependência solicita uma versão desatualizada do JRE. Como dizer ao Ubuntu para parar de me incomodar com “dependência não atendida”?

Azureus funciona bem no Java mais recente, mas sua verificação de dependência solicita uma versão desatualizada do JRE. Como dizer ao Ubuntu para parar de me incomodar com “dependência não atendida”?

Então forço a instalação do Vuze (e sua dependência do Azureus) via apt-get, e ele está funcionando bem no default-jre.

Embora o default-jre funcione como uma dependência do Azureus (pelo menos para o meu cenário de caso de uso), a verificação de dependência dentro do pacote Azureus exige uma versão mais antiga e desatualizada do JRE, e estou sendo bombardeado com mensagens de dependência não atendidas.

Cada vez que executo alguma operação do apt-get, sou saudado com isto:

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).

Editar: não quero "resolver" o problema de dependência, porque não há problema de dependência para resolver. O aviso está errado porque a verificação de dependência dentro do Azureus está desatualizada.

Existe alguma maneira de dizer ao Ubuntu para ignorar as dependências deste pacote específico?

Responder1

Você não pode dizer ao Ubuntu para ignorar o problema, mas pode fingirinstalação de um pacote construindo uma versão fictícia. Não équedoloroso.

sudo apt install equivs
nano openjdk-7-jre

Cole algo como o seguinte:

Section: misc
Priority: optional

Package: openjdk-7-jre
Description: Dummy package

E então execute:

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

Responder2

Encontrei outra resposta "sem dúvida mais apropriada". Isso lhe dará a capacidade de editar a dependência errada dentro do pacote culpado. Ao contrário do método de pacote fictício, isso não afetará todo o sistema.

Você precisa de atool( sudo apt install dpkg-dev devscripts atool) e gdebi( dpkgtambém serve, mas eu prefiro gdebi)

$pkg= o nome do pacote que está causando o problema.

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

No meu caso, a linha que tive que editar foi:

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

Obrigado a sergall poresta solução. O método foi verificado pessoalmente por mim.

Responder3

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

Não.

Por que

Se você precisa conversar com um francês, você precisa de um tradutor - ou aprender francês -, que traduzirá palavras do francês para o inglês para você. Você dependnaquele tradutor – ou algum outro meio – para conversar properlycom aquela pessoa.

O Vuze tem suas próprias dependências, nas quais ele dependsfunciona properly.

Além disso, o Linux tem muitoclientes de torrent melhores, mais rápidos e mais segurosdisponível por padrão.

Ligações

informação relacionada