openjdk-8-jre-headless: Zależy: ca-certyfikaty-java, ale nie zostanie zainstalowany

43

Nie można zainstalować Java8

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

Przeszukałem Google i dodałem repozytorium i inne sugestie, ale nic nie pozwoliło mi jeszcze zainstalować Java 8.

pomysły?

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:        8
Codename:       jessie
Jason
źródło
1
W obliczu tego samego problemu tutaj. Działało do wczoraj. Dzisiaj początkowo narzekała na ca-certyfikaty-java, a teraz nie może nawet znaleźć pakietu.
Jayachandran
1
Ciekawe, dlaczego nie chcesz zainstalować wersji Oracle?
ka3ak
@ ka3ak jaka jest wersja instalacyjna Oracle? Próbowałem przeprowadzić instalację apt-get z pakietem, który zawierał instalację i Oracle, ale to nie działało.
Jason
1
@FrankThornton Oto jak zainstalowałem go w moim systemie (Kubuntu): sudo add-apt-repository ppa: webupd8team / java sudo apt-get update sudo apt-get install oracle-java8-installer Źródło: webupd8.org/2012/09 /…
ka3ak
Dzięki! Byłem całkiem pewien, że spróbowałem tego, a przynajmniej coś takiego, i miałem problemy. Mogłem mieć inne repo.
Jason

Odpowiedzi:

88

czy to jest jessie? Z backportami

apt install -t jessie-backports  openjdk-8-jre-headless ca-certificates-java

źródło
Wygląda na problem z backportem. To pozwoliło na zainstalowanie.
Jason
1
To też działało dla mnie. Czy możesz dodać wyjaśnienie, co -trobi parametr i jak to rozwiązuje problem?
hheimbuerger
1
Opcja -t mówi aptowi, z którego źródła powinien zainstalować pakiet. aptitude why-not ca-certificates-javadaje p openjdk-8-jre-headless Beschädigt ca-certificates-java (< 20160321~) Potrzebujesz wersji z jessie-backports. apt-cache policy ca-certificates-java ca-certificates-java: Installiert: 20140324 Installationskandidat: 20140324 Versionstabelle: 20161107~bpo8+1 0 100 http://http.us.debian.org/debian/ jessie-backports/main amd64 Packages *** 20140324 0 500 http://http.us.debian.org/debian/ jessie/main amd64 Packages
6

Nie działa z backportów Jessie. Próbowałem stretch i został zainstalowany.

echo 'deb http://ftp.au.debian.org/debian/ stretch main contrib non-free' > /etc/apt/sources.list.d/stretch.list && \
apt-get update && \
apt-get install -y --no-install-recommends openjdk-8-jre-headless && \
rm /etc/apt/sources.list.d/stretch.list && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

PS: Używam australijskiego lustra, odkąd tu jestem. Wybierz najlepszy dla siebie stąd .

Jayachandran
źródło
3

to działało dla mnie wiele dzięki, pamiętaj, że masz dodatkowe „deb” w swoim echu, które musiałem usunąć, jestem również w Oz, ale to powinno już działać na wszystkich repozytoriach, wydaje się, że to był problem z certyfikatami dla ustalonej listy java wersje

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851667

new_java_user
źródło
0

Nadal dotykam tego problemu. Bardzo frustrujące. Mam zautomatyzowane kompilacje programów pakujących i po zaktualizowaniu plików jdk / jre ten problem może powrócić. po długim ciągnięciu za włosy stwierdziłem, że jest to dość niezawodne i w pełni zautomatyzowane.

Zwróć uwagę, że masz repozytorium backports poprawnie zdefiniowane, jak wspomniano w innych częściach tej strony. mój obraz został dostarczony ze wstępnie skonfigurowanym. twój jednak może nie.

  1. zainstaluj ca-certyfikaty z backportów
  2. zainstaluj jre i jdk + bezgłowy jako drugie polecenie

    sudo apt install -t jessie-backports ca-certificates-java
    sudo apt-get -y install openjdk-8-jdk openjdk-8-jre openjdk-8-jdk-headless openjdk-8-jre-headless
    

uruchomienie tych dwóch razem wyświetli monit o odpowiedź T / N w pliku konfiguracyjnym, które są denerwujące dla automatyzacji. więc MUSZĄ być uruchamiane osobno, jeśli chcesz, aby działało to bez interakcji z ludźmi.

mchotsun
ź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

polecający przewodnik

użytkownik3073309
źródło