すべてのインストール手順は、apt-getを使用してdefault-jreパッケージをインストールすることを参照しています。これは、この記事の執筆時点ではOpenJDK Java 1.8.0_171をインストールしています。私たちのアプリケーションの1つがこのバージョンで問題を抱えており、ベンダーが認定する最後のバージョンが1.8.0_131であると言っています。そのバージョンの実稼働中の他のサーバーがありますが、新しいサーバーにインストールするときにダウンロードまたは_131バージョンを指定する方法を見つけることができないようです。手動でプルしてインストールできるパッケージの古いバージョンのリポジトリはありますか?インストールされたパッケージをあるマシンから別のマシンに「コピー」する方法はありますか?
mirror OpenJDK(1.8.0_131)のdebianパッケージをホストしています。
必要なバージョン1.8.0_131の次のdebianパッケージをダウンロードできます。
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.
上記のパッケージはUbuntu 16.04 LTS用です。他のシステムにコピーして、Sudo dpkg -i
コマンドを使用して手動でインストールできます。
同じリンクを使用してopenjdkを手動でインストールするために、次のtarファイルをダウンロードすることもできます。
openjdk-8_8u131-b11-2ubuntu1.16.04.3.debian.tar.xz
openjdk-8_8u131-b11.orig.tar.xz
そのため、あるインストールから別のインストールにパッケージをコピーすることに関する私の質問の後半では、dpkg-repack
パッケージを使用して、別のパッケージに「オフライン」でインストールするために必要なOpenJDKパッケージの.debファイルを生成できました次のようにサーバー:
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
ターゲットサーバーで、default-jre
パッケージ、Java-common
、およびca-certificates-Java
パッケージを削除し、apt-get remove
を使用して最新バージョンを消去しました。
古いバージョンは、次を使用してインストールできます(必要に応じてファイル名を調整します)。
dpkg -i openjdk-8-jre-headless_8u131-b11-2ubuntu1.16.04.3_AMD64.deb ca-certificates-Java_20160321_all.deb
ヘッドレスパッケージと証明書を一緒にインストールする必要がありました(依存関係の問題は個別に)。その後、他のものを追加することができます(それらが必要かどうかはわかりませんが、私にとってはうまくいきました):
dpkg -i openjdk-8-jre_8u131-b11-2ubuntu1.16.04.3_AMD64.deb
dpkg -i Java-common_0.56ubuntu2_all.deb
これをすべて実行した後、Java -version
により、目的のバージョンに期待される出力が得られます。
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)
注:これには、目的のバージョンが既に使用可能なサーバーからパッケージをコピーする方法が含まれます。誰かが最初の質問に答えることができるなら、例えば特定のOpenJDKビルドをダウンロードしてインストールするオンラインリポジトリまたはその他の方法がある場合は、それを回答として追加してください。これは、将来のインストールでこれにアプローチするためのより望ましい方法です。