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 dpkg
setelah membiarkan apt
menyelesaikan 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.so
plugin 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 apt
hanya 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/debian
dengan 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 update
di 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 8B48AD6246925553
dan 7638D0442B90D010
harus 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 apt
cache (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.so
plugin 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)