web-dev-qa-db-fra.com

Comment puis-je installer une version spécifique d'OpenJDK? (1.8.0_131)

Toutes les instructions d’installation font référence à apt-get pour installer le paquetage default-jre, ce qui est correct, mais à partir de cette date, OpenJDK Java 1.8.0_171 est installé. Une de nos applications a des problèmes avec cette version et le fournisseur nous dit que la dernière version certifiée est 1.8.0_131. Nous avons d’autres serveurs en production avec cette version, mais il nous est impossible de trouver un téléchargement ou un moyen de spécifier la version _131 lors de l’installation sur un nouveau serveur. Existe-t-il un référentiel d'anciennes versions de packages que nous pouvons extraire et installer manuellement? Un moyen de "copier" un paquet installé d'une machine à une autre?

1
Justin Scott

J'ai trouvé miroir l'hébergement de paquets Debian pour OpenJDK (1.8.0_131).

Vous pouvez télécharger les paquets Debian suivants pour votre version requise 1.8.0_131.

openjdk-8-dbg_8u131-b11-2ubuntu1.16.04.3_AMD64.deb 
openjdk-8-demo_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-jdk-headless_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-jdk_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-jre-headless_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-jre-jamvm_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-jre_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
openjdk-8-source_8u131-b11-2ubuntu1.16.04.3_all.

Les paquets ci-dessus sont pour Ubuntu 16.04 LTS. Vous pouvez copier sur un autre système et l'installer manuellement à l'aide de la commande Sudo dpkg -i.

Vous pouvez également télécharger le fichier tar suivant pour installer manuellement openjdk en utilisant le même lien.

openjdk-8_8u131-b11-2ubuntu1.16.04.3.debian.tar.xz          
openjdk-8_8u131-b11.orig.tar.xz
1
Ketan Patel

Donc, pour la deuxième moitié de ma question sur la copie d’un paquet d’une installation à une autre, j’ai pu utiliser le paquet dpkg-repack pour générer un fichier .deb des paquets OpenJDK nécessaires pour l’installer "hors ligne" sur un autre. serveur comme suit:

apt-get install dpkg-repack
dpkg-repack openjdk-8-jre-headless
dpkg-repack openjdk-8-jre
dpkg-repack ca-certificates-Java
dpkg-repack Java-common

Sur le serveur cible, j'ai supprimé les packages default-jre, Java-common et ca-certificates-Java à l'aide de apt-get remove pour effacer la version la plus récente.

La version la plus ancienne pourrait alors être installée en utilisant (ajustez les noms de fichiers si nécessaire):

dpkg -i openjdk-8-jre-headless_8u131-b11-2ubuntu1.16.04.3_AMD64.deb ca-certificates-Java_20160321_all.deb

Le paquet sans tête et les certificats devaient être installés ensemble (problème de dépendance séparément). Ensuite, les autres peuvent être ajoutés (non sûr s'ils sont nécessaires, mais cela a fonctionné pour moi):

dpkg -i openjdk-8-jre_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
dpkg -i Java-common_0.56ubuntu2_all.deb

Après avoir exécuté tout cela, Java -version me donne le résultat attendu pour la version souhaitée:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

REMARQUE: Ceci couvre la copie d'un package à partir d'un serveur sur lequel la version souhaitée est déjà disponible. Si quelqu'un peut répondre à la première question, par exemple S'il existe un référentiel en ligne ou un autre moyen de télécharger et d'installer une version spécifique d'OpenJDK, veuillez l'ajouter en tant que réponse. Ce serait une manière plus souhaitable d'aborder cette question lors d'installations futures.

0
Justin Scott