Ini tidak terlihat seperti pengelola openjdk-r / ppa akan memperbarui paket openjdk-7 di luar versi 7u95-2.6.4-3. Deskripsi paket itu "Disalin dari eksperimental debian di Arsip Utama untuk Debian GNU / Linux" memberi kita petunjuk tentang bagaimana menangani ini sendiri.
Unduh paket yang ditujukan untuk arsitektur Anda:
(untuk sebagian besar pengguna, ini berarti amd64 jika 64bit, atau i386 jika 32bit Ubuntu diinstal)
(Mencoba untuk) menginstal paket menggunakan dpkg:
Ubuntu 17.10 dan sebelumnya:
sudo dpkg -i openjdk-7-* libjpeg62-turbo* libfontconfig1* fontconfig-config*
Ubuntu 18.04 dan yang lebih baru:
sudo dpkg -i openjdk-7-* libjpeg62-turbo*
Periksa output dari dpkg. Jika ada masalah ketergantungan - yang kemungkinan - Anda akan melihat yang berikut (dengan arsitektur Anda diganti dengan amd64):
Terjadi kesalahan saat memproses:
openjdk-7-jre: amd64
openjdk-7-jre-headless: amd64
openjdk-7-jdk: amd64
Jika tidak ada masalah ketergantungan, bagus, Anda sudah selesai, lewati ke # 4. Jika tidak, jika Anda perlu menyelesaikan beberapa masalah ketergantungan, ini ditangani dengan:
sudo apt install -f
Perhatikan, tidak perlu dijalankan kembali dpkgsetelah membiarkan aptmenyelesaikan dependensi. Ini akan secara otomatis menyelesaikan instalasi paket openjdk.
Perbarui alternatif java. Anda dapat melihat semua versi java yang diinstal dengan update-java-alternatives --list. Untuk mengaktifkan OpenJDK Java 1.7, jalankan:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Anda mungkin melihat kesalahan tentang IcedTeaPlugin.soplugin yang tidak tersedia. Ini bukan masalah nyata bagi pengembang yang bekerja dengan JDK.
Verifikasi java berfungsi:
java -version
yang akan menghasilkan sesuatu yang mirip dengan:
versi java "1.7.0_161"
OpenJDK Runtime Environment (IcedTea 2.6.12) (7u161-2.6.12-1)
OpenJDK 64-Bit Server VM (build 24.161-b01, mode campuran)
Buat file pinning yang apthanya memberitahukan paket yang menarik bagi kami (kami tentu tidak ingin seluruh distribusi Ubuntu kami "ditingkatkan" dengan paket eksperimental Debian).
Buat file /etc/apt/preferences.d/debiandengan konten di bawah ini. Anda akan membutuhkan hak superuser, jadi gunakan salah satu dari sudo vim, sudo nano, gksudo gedit, dll
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
Untuk Ubuntu 17.10 dan sebelumnya, tambahkan juga yang berikut (dan lihat catatan di bawah):
Package: libfontconfig1
Pin: release o=Debian,n=sid
Pin-Priority: 500
Package: fontconfig-config
Pin: release o=Debian,n=sid
Pin-Priority: 500
Pasang keyring Debian:
sudo apt install debian-archive-keyring
Catatan: sementara ini adalah metode paling sederhana untuk menambahkan kunci debian, itu mungkin tidak up to date. Periksa output seperti berikut saat berjalan apt updatedi langkah 4:
W: Kesalahan GPG: http://cdn-fastly.deb.debian.org/debian eksperimental InRelease: Tanda tangan berikut tidak dapat diverifikasi karena kunci publik tidak tersedia: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
E: Repositori 'http://httpredir.debian.org/debian eksperimental InRelease' tidak ditandatangani.
Jika Anda melihat kesalahan ini, maka secara manual tambahkan kunci yang diperlukan dengan:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
di mana 8B48AD6246925553dan 7638D0442B90D010harus cocok dengan pubkey yang Anda lihat di pesan peringatan.
Tambahkan repositori yang dibutuhkan:
sudo add-apt-repository 'deb http://httpredir.debian.org/debian experimental main'
sudo add-apt-repository 'deb http://httpredir.debian.org/debian sid main'
Mengapa tidak menggunakan repositori Debian yang stabil? Anda akan mengalami dependensi yang tidak memuaskan dengan stabil Debian. Repositori eksperimental (untuk openjdk-7) dan sid (untuk libjpeg62-turbo, libfontconfig1, dan fontconfig-config) lebih lunak dengan versi dependensi.
Perbarui aptcache (harap ini membutuhkan waktu lama karena daftar paket Debian besar):
sudo apt update
Instal openjdk-7-jdk:
sudo apt install openjdk-7-jdk
Perbarui alternatif java. Anda dapat melihat semua versi java yang diinstal dengan update-java-alternatives --list. Untuk mengaktifkan OpenJDK Java 1.7, jalankan:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
Anda mungkin melihat kesalahan tentang IcedTeaPlugin.soplugin yang tidak tersedia. Ini bukan masalah nyata bagi pengembang yang bekerja dengan JDK.
Verifikasi java berfungsi:
java -version
yang akan menghasilkan sesuatu yang mirip dengan:
versi java "1.7.0_161"
OpenJDK Runtime Environment (IcedTea 2.6.12) (7u161-2.6.12-1)
OpenJDK 64-Bit Server VM (build 24.161-b01, mode campuran)