HOME / コンピュータTips / Solaris / インストール / java

Date: 2010/07/05 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, opensolaris, java, install, インストール, 最新

はじめに

javaは、様々なことに利用されているので、セキュリティfixはなるべく早めにしておきたいものです。

OpenSolaris/Solarisでは最初からjdk(java development kit)がインストールされていますが、特にOpenSolarisでは最新javaの追っかけが何故かWindowsよりも面倒です。

これらを踏まえてドキュメント化してみました。

jreとjdkの違い

jreはランタイムであって、基本、javaのアプリを実行するにはこれだけで足るものです。一方jdkは、開発キットでそれ以外のツール、ライブラリを含みます。

OpenSolaris/Solarisでは、標準でjdkがインストールされています。jdkはjreのスーパーセットです。

jreのインストール

〜未作業のため、割愛〜

jdkのインストール

jdkのダウンロードは下記から出来ます。

  • http://java.sun.com/javase/downloads/index.jsp

java development kit(JDK)を選び、Solaris x86(32bit)と、Solaris x64(64bit)をダウンロードします。

Solaris x64の方は、Solaris x86がインストールされてることを前提としたパッケージになっているため、jarライブラリなどは含まれておりません。最近のコンピュータはほとんど64bitであるため、両方のダウンロードをすることになります。

次はインストールです。/tmpに、ダウンロードしたファイルがあるとします。

(例)

jdk-6u20-solaris-i586.sh
jdk-6u20-solaris-x64.sh

(手順例)

cd /usr/jdk
pfexec /bin/sh jdk-6u20-solaris-i586.sh
pfexec /bin/sh jdk-6u20-solaris-x64.sh

この例では、/usr/jdk/jdk1.6.0_20に、javaがインストールされます。OpenSolarisでは、/usr/jdk/instances/jdk1.6.0に実体が含まれるのですが、パッチバージョンに関しては、含まれないようなので、ここではあえて/usr/jdk/jdk1.6.0_20としてインストールしています。

このままでは明示的にJAVA_HOMEなどを設定し、手で叩かないとならないので、シンボリックリンクを変えてデフォルトのものを変えてみます。

cd /usr/jdk
pfexec rm latest && pfexec ln -s jdk1.6.0_20 latest
cd /usr
pfexec rm java && pfexec ln -s jdk/jdk1.6.0_20 java

概ね以上です。

OpenSolarisのIPS

上記のインストール方法は、IPSとは別の方法で入れているため、IPSを利用したOSのバージョンアップや、関連ファイルの変更を行うと、OSの物に戻ってしまいます。

とはいえ、パッケージでインストールされているjavaにたいして、依存関係があるソフトウェアが存在しているので、OS標準のjavaのアンインストールはできません。

pfexec pkg uninstall -vn runtimejava 
Creating Planpkg: 次のパッケージが依存しているため、'pkg://opensolaris.org/runtime/java@0.5.11,5.11-0.134:20100302T044237Z' を削除できません:
  pkg://opensolaris.org/network/dhcp/dhcpmgr@0.5.11,5.11-0.134:20100302T042232Z
  pkg://opensolaris.org/developer/java/jdk@0.5.11,5.11-0.134:20100302T014624Z
  pkg://opensolaris.org/library/java/demo@0.5.11,5.11-0.134:20100302T033314Z
  pkg://opensolaris.org/service/resource-pools/poold@0.5.11,5.11-0.134:20100302T050247Z
  pkg://opensolaris.org/service/network/dhcp@0.5.11,5.11-0.134:20100302T045709Z
  pkg://opensolaris.org/SUNWj6rt@0.5.11,5.11-0.133:20100216T080552Z
  pkg://opensolaris.org/runtime/java/runtime64@0.5.11,5.11-0.134:20100302T044457Z

依存の根っこにあるものを手で変えると色々手で何かをしなくてはならないのは、RedhatLinux系とあんまり変わらない感じです。これらの関連アップデート時は、作ったシンボリックリンクが壊されないように、忘れずに作業をしなくてはなりません。

ところで、IPSではjdkとjreは、どちらもjdk以下のディレクトリに掘られています。runtime/javaをインストールすると、jdkのディレクトリに、jreの必要な物が入っているようです。