Nie wygląda na to, że opiekun openjdk-r / ppa będzie aktualizował pakiet openjdk-7 poza wersją 7u95-2.6.4-3. Opis tego pakietu „Skopiowany z eksperymentu debian w Primary Archive for Debian GNU / Linux” daje nam jednak wskazówkę, jak sobie z tym poradzić.
Pobierz pakiety przeznaczone dla Twojej architektury:
(dla większości użytkowników oznacza to amd64, jeśli 64-bitowy lub i386, jeśli zainstalowany jest 32-bitowy Ubuntu)
(Próbuj) zainstalować pakiety za pomocą dpkg
:
Ubuntu 17.10 i wcześniejsze:
sudo dpkg -i openjdk-7-* libjpeg62-turbo* libfontconfig1* fontconfig-config*
Ubuntu 18.04 i nowsze wersje:
sudo dpkg -i openjdk-7-* libjpeg62-turbo*
Sprawdź wyjście z dpkg
. Jeśli wystąpiły problemy z zależnością - co jest prawdopodobne - zobaczysz następujące (z architekturą zastąpioną amd64):
Napotkano błędy podczas przetwarzania:
openjdk-7-jre: amd64
openjdk-7-jre-headless: amd64
openjdk-7-jdk: amd64
Jeśli nie było problemów z zależnością, świetnie, gotowe, przejdź do # 4. W przeciwnym razie, jeśli chcesz rozwiązać niektóre problemy z zależnościami, jest to obsługiwane przez:
sudo apt install -f
Zauważ, że nie ma potrzeby ponownego uruchamiania dpkg
po pozwoleniu na apt
rozwiązanie zależności. Automatycznie zakończy instalację pakietów openjdk.
Zaktualizuj alternatywy Java. Możesz wyświetlić wszystkie zainstalowane wersje Java za pomocą update-java-alternatives --list
. Aby aktywować OpenJDK Java 1.7, uruchom:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Możesz zauważyć błąd związany z IcedTeaPlugin.so
niedostępnością wtyczki. To nie jest prawdziwa troska dla programistów pracujących z JDK.
Sprawdź, czy Java działa:
java -version
co powinno wypisać coś podobnego do:
wersja java „1.7.0_161”
Środowisko wykonawcze OpenJDK (IcedTea 2.6.12) (7u161-2.6.12-1)
64-bitowa maszyna wirtualna serwera OpenJDK (kompilacja 24.161-b01, tryb mieszany)
Utwórz plik przypinający, który mówi, apt
aby rozważać tylko pakiety, które nas interesują (z pewnością nie chcemy, aby cała nasza dystrybucja Ubuntu była „uaktualniana” za pomocą eksperymentalnych pakietów Debiana).
Utwórz plik /etc/apt/preferences.d/debian
z poniższą zawartością. Musisz uprawnieniami administratora, więc użyć jednego z sudo vim
, sudo nano
, gksudo gedit
, itd.
Package: *
Pin: release o=Debian,n=experimental
Pin-Priority: -1
Package: *
Pin: release o=Debian,n=sid
Pin-Priority: -1
Package: openjdk-7-jdk
Pin: release o=Debian,n=experimental
Pin-Priority: 500
Package: openjdk-7-jre
Pin: release o=Debian,n=experimental
Pin-Priority: 500
Package: openjdk-7-jre-headless
Pin: release o=Debian,n=experimental
Pin-Priority: 500
Package: libjpeg62-turbo
Pin: release o=Debian,n=sid
Pin-Priority: 500
W przypadku Ubuntu 17.10 i wcześniejszych dołącz także następujące (i patrz uwaga na dole):
Package: libfontconfig1
Pin: release o=Debian,n=sid
Pin-Priority: 500
Package: fontconfig-config
Pin: release o=Debian,n=sid
Pin-Priority: 500
Zainstaluj brelok Debian:
sudo apt install debian-archive-keyring
Uwaga: chociaż jest to najprostsza metoda dodania breloka do debiana, może nie być aktualna. Sprawdź, czy dane wyjściowe są następujące, jak apt update
w kroku 4:
W: Błąd GPG: http://cdn-fastly.deb.debian.org/debian experimental InRelease: Następujących podpisów nie można zweryfikować, ponieważ klucz publiczny jest niedostępny: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
E: Repozytorium „http://httpredir.debian.org/debian experimental InRelease” nie jest podpisane.
Jeśli zobaczysz ten błąd, dodaj ręcznie niezbędne klucze za pomocą:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
gdzie 8B48AD6246925553
i 7638D0442B90D010
powinny pasować do kluczy widocznych w komunikacie ostrzegawczym.
Dodaj potrzebne repozytoria:
sudo add-apt-repository 'deb http://httpredir.debian.org/debian experimental main'
sudo add-apt-repository 'deb http://httpredir.debian.org/debian sid main'
Dlaczego nie użyć stabilnego repozytorium Debiana? W stabilnej wersji Debiana napotkasz niezadowalające zależności. Eksperymentalne (dla openjdk-7) i sid (dla libjpeg62-turbo, libfontconfig1 i fontconfig-config) są bardziej łagodne w wersjach zależnych.
Zaktualizuj apt
pamięć podręczną (spodziewaj się, że zajmie to trochę czasu, ponieważ listy pakietów Debiana są duże):
sudo apt update
Zainstaluj openjdk-7-jdk:
sudo apt install openjdk-7-jdk
Zaktualizuj alternatywy Java. Możesz wyświetlić wszystkie zainstalowane wersje Java za pomocą update-java-alternatives --list
. Aby aktywować OpenJDK Java 1.7, uruchom:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Możesz zauważyć błąd związany z IcedTeaPlugin.so
niedostępnością wtyczki. To nie jest prawdziwa troska dla programistów pracujących z JDK.
Sprawdź, czy Java działa:
java -version
co powinno wypisać coś podobnego do:
wersja java „1.7.0_161”
Środowisko wykonawcze OpenJDK (IcedTea 2.6.12) (7u161-2.6.12-1)
64-bitowa maszyna wirtualna serwera OpenJDK (kompilacja 24.161-b01, tryb mieszany)