Azureus läuft auf dem neuesten Java einwandfrei, aber die Abhängigkeitsprüfung verlangt eine veraltete Version von JRE. Wie kann ich Ubuntu sagen, dass es aufhören soll, mich wegen „nicht erfüllter Abhängigkeiten“ zu nerven?

Azureus läuft auf dem neuesten Java einwandfrei, aber die Abhängigkeitsprüfung verlangt eine veraltete Version von JRE. Wie kann ich Ubuntu sagen, dass es aufhören soll, mich wegen „nicht erfüllter Abhängigkeiten“ zu nerven?

Also habe ich die Installation von Vuze (und seiner Abhängigkeit Azureus) über apt-get erzwungen und es funktioniert auf dem Standard-JRE einwandfrei.

Obwohl das Standard-JRE als Abhängigkeit für Azureus funktioniert (zumindest für mein Anwendungsszenario), erfordert die Abhängigkeitsprüfung im Azureus-Paket eine ältere und veraltete Version von JRE und ich werde mit Meldungen zu nicht erfüllten Abhängigkeiten bombardiert.

Jedes Mal, wenn ich einen Apt-get-Vorgang durchführe, werde ich mit Folgendem begrüßt:

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

Bearbeiten: Ich möchte das Abhängigkeitsproblem nicht „lösen“, da es kein Abhängigkeitsproblem gibt, das gelöst werden muss. Die Warnung ist fehlerhaft, da die Abhängigkeitsprüfung in Azureus veraltet ist.

Gibt es eine Möglichkeit, Ubuntu anzuweisen, die Abhängigkeiten für dieses bestimmte Paket zu ignorieren?

Antwort1

Sie können Ubuntu nicht sagen, das Problem zu ignorieren, aber Sie können es vortäuschen.Installation eines Pakets durch Erstellen einer Dummy-Version. Es ist nichtDasschmerzlich.

sudo apt install equivs
nano openjdk-7-jre

Fügen Sie etwa Folgendes ein:

Section: misc
Priority: optional

Package: openjdk-7-jre
Description: Dummy package

Und dann führen Sie aus:

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

Antwort2

Ich habe eine andere „vermutlich passendere“ Antwort gefunden. Diese gibt Ihnen die Möglichkeit, die falsche Abhängigkeit innerhalb des fehlerhaften Pakets zu entfernen. Im Gegensatz zur Dummy-Paket-Methode wirkt sich dies nicht auf das gesamte System aus.

Sie benötigen atool( sudo apt install dpkg-dev devscripts atool) und gdebi( dpkggeht auch, aber ich bevorzuge gdebi)

$pkg= der Name des Pakets, das das Problem verursacht.

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

In meinem Fall war die Zeile, die ich bearbeiten musste:

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

Vielen Dank an sergall fürdiese Lösung. Die Methode wurde von mir persönlich überprüft.

Antwort3

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

NEIN.

Warum

Wenn Sie mit einem Franzosen sprechen möchten, benötigen Sie einen Übersetzer – oder Sie lernen Französisch –, der französische Wörter für Sie ins Englische übersetzt. Sie können dependdiesen Übersetzer – oder ein anderes Medium – verwenden, um properlymit der Person zu kommunizieren.

Vuze hat seine eigenen Abhängigkeiten, auf denen er dependsbasiert properly.

Außerdem hat Linux vielbessere, schnellere, sicherere Torrent-Clientsstandardmäßig verfügbar.

Links

verwandte Informationen