Схоже, що підтримувач openjdk-r / ppa буде оновлювати пакет openjdk-7 після версії 7u95-2.6.4-3. Опис цього пакету "Скопійовано з експериментальної програми debian у Первинному архіві для Debian GNU / Linux" дає нам поняття, як самостійно впоратися з цим.
Завантажте пакунки, призначені для вашої архітектури:
(для більшості користувачів це означає amd64, якщо 64-бітний, або i386, якщо встановлено 32-бітний Ubuntu)
(Спроба) встановити пакунки, використовуючи dpkg
:
Ubuntu 17.10 і новіші версії:
sudo dpkg -i openjdk-7-* libjpeg62-turbo* libfontconfig1* fontconfig-config*
Ubuntu 18.04 та новіших версій:
sudo dpkg -i openjdk-7-* libjpeg62-turbo*
Перевірте вихід з dpkg
. Якщо виникли проблеми залежностей - що, швидше за все, - ви побачите наступне (із заміненою на amd64 вашою архітектурою):
Помилки під час обробки:
openjdk-7-jre: amd64
openjdk-7-jre-headless: amd64
openjdk-7-jdk: amd64
Якщо проблем із залежністю не було, здорово, перейдіть до №4. В іншому випадку, якщо вам потрібно вирішити деякі проблеми залежності, це вирішується за допомогою:
sudo apt install -f
Зауважте, не потрібно повторно запускатись dpkg
після того, як ви вирішите apt
залежність. Він автоматично закінчить установку пакетів openjdk.
Оновіть альтернативи Java. Ви можете переглянути всі встановлені версії Java за допомогою update-java-alternatives --list
. Щоб активувати OpenJDK Java 1.7, запустіть:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Ви можете помітити помилку в тому, що IcedTeaPlugin.so
плагін недоступний. Це не викликає побоювань для розробників, що працюють з JDK.
Перевірте, чи працює java:
java -version
який повинен вивести щось подібне до:
версія java "1.7.0_161"
OpenJDK середовище виконання (IcedTea 2.6.12) (7u161-2.6.12-1)
64-бітний VM сервера OpenJDK (збірка 24.161-b01, змішаний режим)
Створіть файл закріплення, який повідомляє apt
розглянути лише пакунки, які нас цікавлять (ми, звичайно, не хочемо, щоб весь наш дистрибутив Ubuntu був "оновлений" експериментальними пакетами Debian).
Створіть файл /etc/apt/preferences.d/debian
із наведеним нижче вмістом. Вам потрібні повноваження супер, тому використовуйте один з sudo vim
, sudo nano
, gksudo gedit
і т.д.
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
Для Ubuntu 17.10 і новіших версій також додайте наступне (і див. Примітку внизу):
Package: libfontconfig1
Pin: release o=Debian,n=sid
Pin-Priority: 500
Package: fontconfig-config
Pin: release o=Debian,n=sid
Pin-Priority: 500
Встановіть брелок Debian:
sudo apt install debian-archive-keyring
Примітка. Хоча це найпростіший метод додавання debian keyring, він може не бути оновленим. Під час запуску apt update
на кроці 4 перевірте наявність такого типу :
W: помилка GPG: http://cdn-fastly.deb.debian.org/debian експериментальна InRelease: Наступні підписи неможливо перевірити, оскільки відкритий ключ недоступний: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
E: Репозиторій "http://httpredir.debian.org/debian експериментальний InRelease" не підписаний.
Якщо ви бачите цю помилку, вручну додайте необхідні клавіші за допомогою:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
де 8B48AD6246925553
і 7638D0442B90D010
мають відповідати лопатки, які ви бачите в попереджувальному повідомленні.
Додайте необхідні сховища:
sudo add-apt-repository 'deb http://httpredir.debian.org/debian experimental main'
sudo add-apt-repository 'deb http://httpredir.debian.org/debian sid main'
Чому б не використовувати стабільний сховище Debian? Ви зіткнетеся з незадовільними залежностями зі стабільністю Debian. Експериментальні сховища (для openjdk-7) та sid (для libjpeg62-turbo, libfontconfig1 та fontconfig-config) схожіші на версії залежностей.
Оновіть apt
кеш (очікуйте, що це займе деякий час, оскільки списки пакунків Debian є великими):
sudo apt update
Встановіть openjdk-7-jdk:
sudo apt install openjdk-7-jdk
Оновіть альтернативи Java. Ви можете переглянути всі встановлені версії Java за допомогою update-java-alternatives --list
. Щоб активувати OpenJDK Java 1.7, запустіть:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Ви можете помітити помилку в тому, що IcedTeaPlugin.so
плагін недоступний. Це не викликає побоювань для розробників, що працюють з JDK.
Перевірте, чи працює java:
java -version
який повинен вивести щось подібне до:
версія java "1.7.0_161"
OpenJDK середовище виконання (IcedTea 2.6.12) (7u161-2.6.12-1)
64-бітний VM сервера OpenJDK (збірка 24.161-b01, змішаний режим)