Openjdk-8-jre-headless kann unter Debian Jessie nicht installiert werden

28

Diesen Freitag sah ich, dass ich 2 Pakete aus irgendeinem Grund zurückgehalten hatte, als ich lief apt-get upgrade, also tat ich natürlich, was ein unerfahrener Sysadmin tun würde, und deinstallierte die Pakete in der Hoffnung, dass ich sie einfach neu installieren könnte und das Problem gelöst wäre.

Wenig wusste ich, ich habe die Situation nur verschlimmert. Als ich versuchte, neu zu installieren openjdk-8-jre-headless, bekam ich Folgendes:

$ apt-get install openjdk-8-jre-headless
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 openjdk-8-jre-headless : Depends: ca-certificates-java but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Ich habe versucht, das erwähnte Paket manuell zu aktualisieren, aber ohne Erfolg.

$ apt-get upgrade ca-certificates-java
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... ca-certificates-java is already the newest version.
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Als ich mich umsah, sah ich nirgendwo eine Lösung für diesen Fehler.

Ich verwende ElasticSearch auf dem Server, den ich neu gestartet habe, aber ich hätte erwarten sollen, dass es zu diesem Zeitpunkt nicht gestartet wird. Jetzt bin ich also ohne Java und meine Benutzer haben keine Suche. Was ist los und wie kann ich das beheben?

SeinopSys
quelle

Antworten:

22
  1. Zuerst müssen Sie jessie-backportsRepo hinzufügen .

    echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
    
  2. Befehle installieren

    sudo apt-get update
    sudo apt-get install -t jessie-backports openjdk-8-jre-headless
    
  3. Wechseln Sie zu neuem Java

    sudo /usr/sbin/update-java-alternatives -s java-1.8.0-openjdk-amd64
    

Referenz: https://github.com/OpenTreeOfLife/germinator/wiki/Debian-upgrade-notes:-jessie-and-openjdk-8

Amos Jianjun Kong
quelle
Ich glaube , Sie wollen --jre-headlessfür /usr/sbin/update-java-alternativesso dass Sie nicht versuchen , zu aktualisieren Dinge wie applet , die von Maden fehlen.
MSalters
1

Ich hatte dieses Problem bei Debian Buster, das dieses Paket auch nicht enthält. Da keine der Antworten auf dieser Seite für mich funktionierte und die akzeptierte Antwort zu einer anderen SE-Antwort führte, die ich auch nicht zur Arbeit bringen konnte, wollte ich nur posten, was für mich bei Buster funktioniert hat.

Den Anweisungen auf der Debian-Website folgend, fügte ich die folgende Zeile hinzu /etc/apt/sources.list:

deb http://security.debian.org/debian-security stretch/updates main

Ich konnte dann sudo apt updateund sudo apt install openjdk-8-jre-headless.

mttpgn
quelle
-1

das funktioniert bei mir

apt-get install software-properties-common
add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
apt-get update
apt-get install oracle-java8-installer

führen

user3073309
quelle
Ihre Antwort enthält, ubuntu xenialaber die Frage ist markiertdebian
SeinopSys