Debian GNU/Linux wheezy で OpenJDK 6 を使っている。


# uname -mrsv
Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64
 
# cat /etc/debian_version
7.4
 
# java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
 
# which java
/usr/bin/java
 
# dpkg -l | grep jre
ii  default-jre-headless                 1:1.6-47                      amd64        Standard Java or Java compatible Runtime (headless)
ii  openjdk-6-jre-headless:amd64         6b27-1.12.6-1~deb7u1          amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-6-jre-lib                    6b27-1.12.6-1~deb7u1          all          OpenJDK Java runtime (architecture independent libraries)

この環境では headless な JRE が動いている。

aptitude search openjdk で探してみたら openjdk-7-jre-headless というパッケージがみつかった。

最小サイズの Java ランタイムです。非 GUI の Java プログラムの実行に必要です。 Hotspot JIT を使用するバージョンです。 本パッケージは IcedTea の構築支援環境および IcedTea プロジェクトによるパッチ を使用して構築されています。

Debian -- wheezy の openjdk-7-jre-headless パッケージに関する詳細

openjdk-7-jre-headless をインストールする。


# aptitude install openjdk-7-jre-headless
以下の新規パッケージがインストールされます:
  icedtea-7-jre-jamvm{a} openjdk-7-jre-headless openjdk-7-jre-lib{a}
更新: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
41.7 M バイトのアーカイブを取得する必要があります。展開後に 57.7 M バイトのディ スク領域が新たに消費されます。
 
# dpkg -l | grep jre
ii  default-jre-headless                 1:1.6-47                      amd64        Standard Java or Java compatible Runtime (headless)
ii  icedtea-7-jre-jamvm:amd64            7u25-2.3.10-1~deb7u1          amd64        Alternative JVM for OpenJDK, using JamVM
ii  openjdk-6-jre-headless:amd64         6b27-1.12.6-1~deb7u1          amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-6-jre-lib                    6b27-1.12.6-1~deb7u1          all          OpenJDK Java runtime (architecture independent libraries)
ii  openjdk-7-jre-headless:amd64         7u25-2.3.10-1~deb7u1          amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-7-jre-lib                    7u25-2.3.10-1~deb7u1          all          OpenJDK Java runtime (architecture independent libraries)

java コマンドで Java Runtime のバージョンを調べてみると、バージョンアップしていない。


# java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

インストールしただけでは、標準で使われる Java Runtime は古いバージョンのまま。

update-alternatives コマンドで、 Java Runtime を切り替える。


# update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。
 
  選択肢    パス                                          優先度  状態
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      自動モード
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      手動モード
* 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      手動モード
 
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2

すでに OpenJDK 7 が使われているように見えるけど・・・2を入力。これで、無事に OpenJDK 7 の Java 7 が使われるようになった。


# java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1~deb7u1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

tags: debian java openjdk

Posted by NI-Lab. (@nilab)