DockerイメージにJava7をインストールしようとしています。これは数日前まで機能していました。コマンドは次のとおりです。
apt-get --fix-missing update
apt-get -y upgrade
apt-get -y install software-properties-common
add-apt-repository ppa:webupd8team/Java
apt-get -y upgrade
apt-get -y update
echo Oracle-Java7-installer shared/accepted-Oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
apt-get install -y Oracle-Java7-installer
出力は次のとおりです。
Setting up Oracle-Java7-installer (7u80+7u60arm-0~webupd8~1) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
Downloading Oracle Java 7...
--2017-05-29 16:54:29-- http://download.Oracle.com/otn-pub/Java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
Resolving download.Oracle.com (download.Oracle.com)... 104.96.220.162, 104.96.220.106
Connecting to download.Oracle.com (download.Oracle.com)|104.96.220.162|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: (REMOVING H-T-T-P-S BECAUSE I DON'T HAVE ENOUGH REP POINTS)://edelivery.Oracle.com/otn-pub/Java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz [following]
--2017-05-29 16:54:29-- (REMOVING H-T-T-P-S BECAUSE I DON'T HAVE ENOUGH REP POINTS)://edelivery.Oracle.com/otn-pub/Java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
Resolving edelivery.Oracle.com (edelivery.Oracle.com)... 23.196.115.62, 2600:1408:10:184::2d3e, 2600:1408:10:185::2d3e
Connecting to edelivery.Oracle.com (edelivery.Oracle.com)|23.196.115.62|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: (REMOVING H-T-T-P BECAUSE I DON'T HAVE ENOUGH REP POINTS)//download.Oracle.com/otn-pub/Java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1496076904_47c6805122b1f8131f00e210452116ca [following]
--2017-05-29 16:54:29-- http://download.Oracle.com/otn-pub/Java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1496076904_47c6805122b1f8131f00e21 0452116ca
Connecting to download.Oracle.com (download.Oracle.com)|104.96.220.162|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-29 16:54:31 ERROR 404: Not Found.
download failed
Oracle JDK 7 is NOT installed.
dpkg: error processing package Oracle-Java7-installer (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up gsfonts (1:8.11+urwcyr1.0.7~pre44-4.2ubuntu1) ...
Setting up x11-common (1:7.7+1ubuntu8.1) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
invoke-rc.d: policy-rc.d denied execution of start.
Processing triggers for ureadahead (0.100.0-16) ...
Setting up xfonts-encodings (1:1.0.4-1ubuntu1) ...
Setting up xfonts-utils (1:7.7+1) ...
Setting up gsfonts-x11 (0.22) ...
Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
Errors were encountered while processing:
Oracle-Java7-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get install -y Oracle-Java7-installer' returned a non-zero code: 100
エラーの原因は、Oracleがサイトからバイナリを削除したことです。バージョンはしばらく前に廃止されましたが、最近までバイナリはダウンロードのためにそこにありました。しかし、彼らは今それを取り除いた。
これは、2017年6月2日のwebupd8のサイトで説明されています。 Oracleのダウンロードページ は言う
2015年4月以降にリリースされたJava SE 7の更新、および2013年4月以降にリリースされたJava SE 6の更新は、My Oracle Supportを通じてのみOracleカスタマーが利用できます(サポートログインが必要)。
Java SE Advancedは、商用機能、重要なバグ修正、セキュリティ修正、および一般的なメンテナンスへのアクセスをユーザーに提供します。
詳細はこちらをご覧ください http://www.webupd8.org/2017/06/why-Oracle-Java-7-and-6-installers-no.html .
Oracleはダウンロードリンクを移動し、古いバージョンのJavaをダウンロードするためにログイン資格情報を必要とするため、次の手順に従ってJava 7をインストールします。
1)最新のJavaバージョンを http://www.Oracle.com/technetwork/Java/javase/downloads/Java-archive-downloads-javase7-521261からダウンロードします。 html 。ログインする必要があります。
2)jdk-7uXX-linux-x64.tar.gzを/ var /から削除しますcache/Oracle-jdk7-installer /ここで、XXはバージョン番号です。
3)次のコマンドを使用して、ダウンロードしたバージョンを/ var/cache/Oracle-jdk7-installer /に移動します
Sudo mv jdk-7u(downloadedversion)-linux-x64.tar.gz /var/cache/Oracle-jdk7-installer/
4)次のコマンドを実行します
Sudo apt-get install Oracle-Java7-installer
昨日、OracleがJava 181から191に移行してこの問題に遭遇した場合に備えて、私はここに投稿したいと考えました。 Java 8でこの問題が発生している場合は、 こちら をご覧ください新しいJava 8インストーラーがUbuntu用に更新されるまでの修正。
181から191への修正を次に示します。
cd /var/lib/dpkg/info
Sudo sed -i 's|Java_VERSION=8u181|Java_VERSION=8u191|' Oracle-Java8-installer.*
Sudo sed -i 's|PARTNER_URL=http://download.Oracle.com/otn-pub/Java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|PARTNER_URL=http://download.Oracle.com/otn-pub/Java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/|' Oracle-Java8-installer.*
Sudo sed -i 's|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|SHA256SUM_TGZ="53c29507e2405a7ffdbba627e6d64856089b094867479edc5ede4105c1da0d65"|' Oracle-Java8-installer.*
Sudo sed -i 's|J_DIR=jdk1.8.0_181|J_DIR=jdk1.8.0_191|' Oracle-Java8-installer.*
他の回答で述べたように、オラクルは通常、深刻なCVE(脆弱性)に対処するリリースを行うため、サイトからJRE/JDKの最新バージョン以外をダウンロードするには、開発者アカウントまたはサポート契約が必要です。
このリポジトリには、設定したパラメーターと環境変数に基づいて最新バージョンまたは古いバージョンをダウンロードできるスクリプトがあります。