CentOS に Oracle JDK を curl コマンドでダウンロード, ついでに Chef レシピも
毎回ブラウザから Oracle JDK をダウンロードするのが面倒だったのでコマンド化した。
Oracle JDK のダウンロードはライセンス同意のチェックが厄介。
参考
こちらを参考にさせて頂いた。
ただ自分の環境では “Unauthorized Request” な HTML しかダウンロード出来なかった。
Oracle JDK をダウンロードするコマンド
2014/07/17 時点、こちらで通った。
必要な Cookie (oraclelicense) が増えたんだろうか。
JDK7 (Java SE Development Kit 7u65 - Linux x64)
curl -L -o /tmp/jdk-7u65-linux-x64.rpm \
-H 'Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com; oraclelicense=accept-securebackup-cookie' \
'http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.rpm'
JDK8 (Java SE Development Kit 8u11 - Linux x64)
curl -L -o /tmp/jdk-8u11-linux-x64.rpm \
-H 'Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com; oraclelicense=accept-securebackup-cookie' \
'http://download.oracle.com/otn-pub/java/jdk/8u11-b12/jdk-8u11-linux-x64.rpm'
インストール
ついでにインストール。普通に rpm を回す。
rpm -ivh /tmp/jdk-7u65-linux-x64.rpm
Chef のレシピも書いてみた
Opscode の Cookbook (socrata-cookbooks/java) もあるようだけど、自前でやる用に。
remote_file
でやろうと思ったけど、 Cookie の指定方法が分からなかったので bash
で :)
bash '/tmp/jdk-7u65-linux-x64.rpm' do
not_if "test -f /tmp/jdk-7u65-linux-x64.rpm"
code <<-EOC
curl -L -o /tmp/jdk-7u65-linux-x64.rpm \
-H 'Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com; oraclelicense=accept-securebackup-cookie' \
'http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.rpm'
EOC
end
rpm_package 'jdk-7u65-linux-x64' do
source '/tmp/jdk-7u65-linux-x64.rpm'
end