Nie można zainstalować openjdk-8-jre-headless na Debian Jessie

28

W ten piątek zobaczyłem, że z jakiegoś powodu miałem 2 wstrzymane pakiety apt-get upgrade, więc naturalnie zrobiłem to, co zrobiłby każdy niedoświadczony sysadmin, i odinstalowałem pakiety w nadziei, że po prostu będę mógł je ponownie zainstalować i problem zostanie rozwiązany.

Nie wiedziałem, że tylko pogorszyłem sytuację. Kiedy próbowałem ponownie zainstalować openjdk-8-jre-headless, otrzymałem:

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

Próbowałem zaktualizować wspomniany pakiet ręcznie, ale bezskutecznie.

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

Rozglądając się, nigdzie nie zauważyłem rozwiązania tego dokładnie błędu.

Używam ElasticSearch na serwerze, który zrestartowałem, ale powinienem się spodziewać, że nie uruchomi się w tym momencie. Więc teraz jestem bez Java, a moi użytkownicy nie mają wyszukiwania. Co się dzieje i jak mogę to naprawić?

SeinopSys
źródło

Odpowiedzi:

22
  1. Najpierw musisz dodać jessie-backportsrepo.

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

    sudo apt-get update
    sudo apt-get install -t jessie-backports openjdk-8-jre-headless
    
  3. przejdź do nowej Java

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

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

Amos Jianjun Kong
źródło
Myślę, że chcesz --jre-headlessdo /usr/sbin/update-java-alternativeswięc nie próbować aktualizować rzeczy jak appletviewer że brakuje od bez głowy.
MSalters
1

Miałem ten problem na Debian Buster, który również nie ma tego pakietu. Ponieważ żadna z odpowiedzi na tej stronie nie działała dla mnie, a zaakceptowana odpowiedź doprowadziła mnie do kolejnej odpowiedzi SE, której również nie mogłem dostać do pracy, chciałem tylko opublikować to, co zadziałało dla mnie na Busterze.

Postępując zgodnie z instrukcjami na stronie Debiana , dodałem następujący wiersz /etc/apt/sources.list:

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

Byłem wtedy w stanie sudo apt updatei sudo apt install openjdk-8-jre-headless.

mttpgn
źródło
-1

to działa dla mnie

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

przewodnik

użytkownik3073309
źródło
Twoja odpowiedź zawiera, ubuntu xenialale pytanie jest oznaczonedebian
SeinopSys