何かと便利な仮想アプライアンスライブラリ。
TurnKey Linux のものをよく使わせてもらっているが、Tomcat のオールインワン環境を提供している Tomcat Applicance では、JDK は OpenJDK を使っている。これを Sun Java 環境に変更し、併せて Tomcat も Sun Java で起動するように変更する。
このアプライアンスライブラリにはデフォルトで Tomcat 6.0.24
と MySQL 5.1
が含まれており、最低限の必要な設定も既に終えている。
使用している TurnKey Linux のバージョンは以下の通り。
# cat /etc/turnkey_version
turnkey-tomcat-11.1-lucid-x86
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
Table of Contents
Open Table of Contents
OpenJDK から Sun Java へ変更
デフォルトでは以下の Java 環境となっている。
# java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu1~10.04.1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
Sun Java に切り替える。
まずは Sun Java のインストールから。
必要なレポジトリソースを追加し、アップデートしておく。
# echo "deb http://archive.canonical.com/ lucid partner" >> /etc/apt/sources.list.d/sources.list
# apt-get update
Sun Java のインストール。
# apt-get install sun-java6-jdk
デフォルトで使用される Java を Sun Java に変更しておく。
# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
* 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-6-sun/jre/bin/java to provide /usr/bin/java (java) in manual mode.
“Press enter to keep the current choice[*], or type selection number:” の問い合わせに Sun Java の 2 を入力している。
確認してみる。
# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
とりあえず OK だが、JAVA_HOME
の設定も変更しておく。
# echo $JAVA_HOME
/usr/lib/jvm/java-6-openjdk
まだ OpenJDK の方を参照している。この環境変数を設定しているのは、/etc/environment
になる。JAVA_HOME
の値を /usr/lib/jvm/java-6-sun
に変更しておく。変更箇所は以下の通り。
# git diff environment
diff --git a/environment b/environment
index 225ca6c..8c7937c 100644
--- a/environment
+++ b/environment
@@ -4,4 +4,4 @@ LC_ALL=C
CATALINA_HOME="/usr/share/tomcat6"
CATALINA_BASE="/var/lib/tomcat6"
CATALINA_OPTS="-server -Xms384M -Xmx512M -XX:MaxPermSize=256M"
-JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
+JAVA_HOME="/usr/lib/jvm/java-6-sun"
ちなみに、上記でもわかるように、TurnKey Linux では /etc
配下を git で管理している。変更履歴をキチンと管理できるので安心して設定変更が行える。
また、この /etc/environment
にてロケールの設定も入っている。ロケールの設定に関して、OS 起動時に /etc/default/locale
の設定で上書きされるのでこのままでもいいのだが、どこで悪さするかわからないので、LANG
と LC_ALL
の設定も変更しておく。
ロケールの変更に関しては、
にも記載している。
最終的に /etc/environment
は以下の内容になっている。
# cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
CATALINA_HOME="/usr/share/tomcat6"
CATALINA_BASE="/var/lib/tomcat6"
CATALINA_OPTS="-server -Xms384M -Xmx512M -XX:MaxPermSize=256M"
JAVA_HOME="/usr/lib/jvm/java-6-sun"
変更の反映は、一旦システムを再起動しておいた方が安心。
以上で OK。
Tomcat 側の設定
これまでの作業を行っておけば、特に必要はない。
念の為に確認してみる。
# /usr/share/tomcat6/bin/version.sh
Using CATALINA_BASE: /var/lib/tomcat6
Using CATALINA_HOME: /usr/share/tomcat6
Using CATALINA_TMPDIR: /var/lib/tomcat6/temp
Using JRE_HOME: /usr/lib/jvm/java-6-sun
Using CLASSPATH: /usr/share/tomcat6/bin/bootstrap.jar
Server version: Apache Tomcat/6.0.24
Server built: December 10 2010 1755
Server number: ...0
OS Name: Linux
OS Version: 2.6.32-26-generic
Architecture: i386
JVM Version: 1.6.0_24-b07
JVM Vendor: Sun Microsystems Inc.
全て Sun Java に切り替わっている。