はじめに
Oracle Cloud Infrastructure(以下OCI)で利用する際に Oracle JDK は、無償で商用利用可能となったことがアナウンスがありました。
https://blogs.oracle.com/developers/support-for-oracle-java-se-now-included-with-oracle-cloud-infrastructure
OCIにCentOSを構築し、Oracle JDK 11 をInstallする方法を記載します。Oracle JDK 11を選択した理由は以下の通りです。
- Oracle JDK のバージョン11は、LTSの対象となっており Premier Support の期間が、2018年9月~2023年9月となっているため
留意点
CentOSがDefaultで参照しているRepositoryを無効化し、OCIで提供しているRepositoryに切り替えています。
OCIで提供しているものを継続して利用することが出来ますが、気になる場合はJDKをInstallした後にもとに戻してください。
Oracle JDKをInstall
OCI で Compute Instance を構築
CentOS7 で適当に立てる。以下のチュートリアルなどを参照
https://community.oracle.com/docs/DOC-1019313
Yum Repository参照先を変更
まず、rootへスイッチします
sudo su -
ULN(Unbreakable Linux Network) に接続するために GPG KEY をダウンロードします
wget https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
GPG KEY を適用します
# gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
pub 2048R/EC551F03 2010-07-01 Oracle OSS group (Open Source Software group) <build@oss.oracle.com>
Key fingerprint = 4214 4123 FECF C55B 9086 313D 72F9 7B74 EC55 1F03
CentOSのDefaule 参照先を 無効化します
mkdir /etc/yum.repos.d/old
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/old
ULN側の Repository を参照するための、一時的なファイルを作成します。
cat <<'EOF' > /etc/yum.repos.d/ol7-temp.repo
[ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
EOF
yum repolist で正常に参照できているか確認します
# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name status
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 13,163
repolist: 13,163
repositoryを参照するためのパッケージをインストールします
yum install -y oraclelinux-release-el7
以下のパッケージがインストールされます
Dependencies Resolved
==============================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Installing:
oraclelinux-release-el7 x86_64 1.0-6.el7 ol7_latest 18 k
Installing for dependencies:
python-kitchen noarch 1.1.1-5.el7 ol7_latest 265 k
yum-utils noarch 1.1.31-50.0.1.el7 ol7_latest 121 k
Transaction Summary
==============================================================================================================
yum.repo.d ディレクトリは以下の構成になっています
# ls -la
total 28
drwxr-xr-x. 3 root root 108 Jul 16 16:01 .
drwxr-xr-x. 90 root root 8192 Jul 16 13:10 ..
-rw-r--r--. 1 root root 203 Jul 16 16:01 ol7-temp.repo
drwxr-xr-x. 2 root root 229 Jul 16 16:01 old
-rw-r--r--. 1 root root 3586 Jul 16 16:01 oracle-linux-ol7.repo
-rw-r--r--. 1 root root 2108 Jul 16 16:01 uek-ol7.repo
-rw-r--r--. 1 root root 225 Jul 16 16:01 virt-ol7.repo
一時的に作成したRepositoryを無効化します
mv /etc/yum.repos.d/ol7-temp.repo /etc/yum.repos.d/old/
OCI の各Regionには、高速にパッケージをダウンロードするための、yum ミラーサーバーが存在しています。
これにアクセスするために、以下の設定を行います。
まず JSON を 整形するための、jqコマンドをインストールします
sudo curl -o /usr/local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 && sudo chmod +x /usr/local/bin/jq
Compute Instance が稼働しているRegion名を取得して、/etc/yum/vars/ociregion に格納します。
export OCIREGION=`curl -sfm 3 http://169.254.169.254/opc/v1/instance/ | jq -r '.region' | cut -d '-' -f 2`
echo "-$OCIREGION" > /etc/yum/vars/ociregion
ファイルの中身を確認します
# cat /etc/yum/vars/ociregion
-tokyo
yum repolist を確認します。以下の5種類のRepositoryを参照することが出来ていればOKです。
# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name status
ol7_UEKR5/x86_64 Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 7Server (x86 154
ol7_addons/x86_64 Oracle Linux 7Server Add ons (x86_64) 340
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 13,163
ol7_ociyum_config OCI specific release packages Oracle Linux 7Server (x86_64) 27
ol7_optional_latest/x86_64 Oracle Linux 7Server Optional Latest (x86_64) 9,978
repolist: 23,662
正常にInstall出来るか確認するために、vimを試しにインストールしてみます
yum install -y vim
以下の依存関係が解決されて、正常にインストールを行うことが出来ます。
==============================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Installing:
vim-enhanced x86_64 2:7.4.160-6.el7_6 ol7_latest 1.0 M
Installing for dependencies:
gpm-libs x86_64 1.20.7-5.el7 ol7_latest 31 k
perl x86_64 4:5.16.3-294.el7_6 ol7_latest 8.0 M
perl-Carp noarch 1.26-244.el7 ol7_latest 19 k
perl-Encode x86_64 2.51-7.el7 ol7_latest 1.5 M
perl-Exporter noarch 5.68-3.el7 ol7_latest 28 k
perl-File-Path noarch 2.09-2.el7 ol7_latest 26 k
perl-File-Temp noarch 0.23.01-3.el7 ol7_latest 56 k
perl-Filter x86_64 1.49-3.el7 ol7_latest 76 k
perl-Getopt-Long noarch 2.40-3.el7 ol7_latest 55 k
perl-HTTP-Tiny noarch 0.033-3.el7 ol7_latest 38 k
perl-PathTools x86_64 3.40-5.el7 ol7_latest 82 k
perl-Pod-Escapes noarch 1:1.04-294.el7_6 ol7_latest 51 k
perl-Pod-Perldoc noarch 3.20-4.el7 ol7_latest 86 k
perl-Pod-Simple noarch 1:3.28-4.el7 ol7_latest 216 k
perl-Pod-Usage noarch 1.63-3.el7 ol7_latest 26 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 ol7_latest 35 k
perl-Socket x86_64 2.010-4.el7 ol7_latest 48 k
perl-Storable x86_64 2.45-3.el7 ol7_latest 76 k
perl-Text-ParseWords noarch 3.29-4.el7 ol7_latest 13 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 ol7_latest 44 k
perl-Time-Local noarch 1.2300-2.el7 ol7_latest 24 k
perl-constant noarch 1.27-2.el7 ol7_latest 18 k
perl-libs x86_64 4:5.16.3-294.el7_6 ol7_latest 688 k
perl-macros x86_64 4:5.16.3-294.el7_6 ol7_latest 43 k
perl-parent noarch 1:0.225-244.el7 ol7_latest 12 k
perl-podlators noarch 2.5.1-3.el7 ol7_latest 111 k
perl-threads x86_64 1.87-4.el7 ol7_latest 48 k
perl-threads-shared x86_64 1.43-6.el7 ol7_latest 38 k
vim-common x86_64 2:7.4.160-6.el7_6 ol7_latest 5.9 M
vim-filesystem x86_64 2:7.4.160-6.el7_6 ol7_latest 9.8 k
Transaction Summary
==============================================================================================================
Oracle JDK 11 を Install
Oracle JDK のパッケージを確認します。
jdkで検索すると、Open JDK も引っ掛かりますが、下の方にOracle JDK の 11 と 12 があります。
# yum search jdk
省略
jdk-11.0.3.x86_64 : Java Platform Standard Edition Development Kit
jdk-12.0.1.x86_64 : Java Platform Standard Edition Development Kit
jdk1.8.x86_64 : Java Platform Standard Edition Development Kit
省略
Oracle JDK は、OCIだと無償で商用利用が可能となっている。そのなかで JDK 11 が LTS となっているため、JDK 11 を Install します。
yum install -y jdk-11.0.3.x86_64
java の version 確認
# java --version
java 11.0.3 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
参考URL
OCIのYum Repositoryを参照
https://yum.oracle.com/getting-started.html
OCIでJavaをInstall
https://orablogs-jp.blogspot.com/2019/06/how-to-install-oracle-java-in-oracle.html