FreeBSD 7.0 に Java の JDK をインストールする

5種類もある JDK

通常は Diablo JDK を利用する。

  1. FreeBSD 公式のバイナリパッケージ Diablo JDK
  2. ソースコードからコンパイルする FreeBSD 公式の JDK (開発版としての位置づけ)
  3. Sun Microsystems 社の Linux 向けバイナリを Linux バイナリ互換機能で動作させる JDK
  4. IBM 社の Linux 向けバイナリを Linux バイナリ互換機能で動作させる JDK
  5. Sun Microsystems 社と契約をしていないサードパーティーでも利用できるように、非公開のソースを除外した OpenJDK

Diablo JDK をインストールの準備

インストールを始めると、いきなりエラーが起こる。

# cd /usr/ports/java/diablo-jdk16
# make fetch-recursive
===> Fetching all distfiles for diablo-jdk-1.6.0.07.02_4 and dependencies
===>  Vulnerability check disabled, database not found

 Because of licensing restrictions, you must fetch the distribution
 manually.

 Please access

     http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2

 with a web browser and "Accept" the End User License Agreement for
 "Caffe Diablo 1.6.0".

 Please open http://java.sun.com/javase/downloads/index.jsp
 in a web browser and follow the "Download" link for
 "JDK US DST Timezone Update Tool - 1_3_12" to obtain the
 time zone update file, tzupdater-1_3_12-2009a.zip.

 Please place the downloaded file(s) in /usr/ports/distfiles.

*** Error code 1

Stop in /usr/ports/java/diablo-jdk16.
*** Error code 1

Stop in /usr/ports/java/diablo-jdk16.
%

要するに、

  • Java の利用ライセンスを取得する必要がある
  • Java を利用するためのタイムゾーンを設定するファイルを取得する必要がある

というメッセージになっている。

ライセンスを取得する。

http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 をダウンロードする。
ダウンロードをしたら、(FTP や SFTP で転送したり、wget で直接保存してもよい) FreeBSD 上の自分の $HOME ディレクトリに保存する。
ファイル名は diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 である。

tzupdater-1_3_12-2009a.zip を取得する

Java SE Downloads - Sun Developer Network (SDN) からダウンロードする。
ページ中央の「Additional Resources」のカテゴリにダウンロードをするリンクがある。
ダウンロードができたら、diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 と同じフォルダに保存する。

Diablo JDK をインストールする

さきほどダウンロードしたファイルを /usr/ports/distfiles に移動する。

% sudo cp ~/diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 /usr/ports/distfiles/
Password:
% sudo cp ~/tzupdater-1_3_12-2009a.zip /usr/ports/distfiles/
Password:

ファイルを移動したら、インストールを開始する

% cd /usr/ports/java/diablo-jdk16
% make fetch-recursive
% make install clean

インストール中に下記の注意書きが出る。

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/diablo-jdk1.6.0/jre/lib/i386/native_threads/libhpi.so
/usr/local/diablo-jdk1.6.0/jre/lib/i386/client/libjvm.so
/usr/local/diablo-jdk1.6.0/jre/lib/i386/libnio.so
/usr/local/diablo-jdk1.6.0/bin/javaws
/usr/local/diablo-jdk1.6.0/jre/lib/i386/libdt_socket.so
/usr/local/diablo-jdk1.6.0/jre/lib/i386/libnet.so
/usr/local/diablo-jdk1.6.0/jre/lib/i386/server/libjvm.so
/usr/local/diablo-jdk1.6.0/jre/bin/javaws

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.FreeBSDFoundation.org/downloads/java.shtml

「表示されたファイル群がネットワークサーバーのように稼動して、そこからリモートアクセスの危険性をサーバーに影響を与える可能性がある」。これらのファイルは「FreeBSD は保障しない」ので、「心配ならアンインストールしてくれ」という内容。
WindowsMac OS XJava を利用しているのならば、同じリスクにさらされているのだから、あまり心配する必要はない。
インストールが完了したら、Java のバージョンを確認してみる。

% java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

JDK をソースからビルドした場合

上記の方法よりも多くのファイルをダウンロードし、コンパイルするために HDD の空き容量が必要となる。

# cd /usr/ports/java/jdk16
# make fetch-recursive
===> Fetching all distfiles for jdk-1.6.0.3p4_10 and dependencies
===>  Vulnerability check disabled, database not found

IMPORTANT: To build the JDK 1.6.0 port, you should have at least
2.5Gb of free disk space in the build area!


 Due to licensing restrictions, certain files must be fetched manually.

 Please download the Update 3 Source from
 http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
 and the Source Binaries from
 http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
 and the Mozilla Headers from
 http://www.java.net/download/jdk6/6u3/promoted/b05/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
 .

 Please open http://java.sun.com/javase/downloads/index.jsp
 in a web browser and follow the "Download" link for
 "JDK US DST Timezone Update Tool - 1_3_12" to obtain the
 time zone update file, tzupdater-1_3_12-2009a.zip.

 Please download the patchset, bsd-jdk16-patches-4.tar.bz2, from
 http://www.eyesbeyond.com/freebsddom/java/jdk16.html.

 Please place the downloaded file(s) in /usr/ports/distfiles
 and restart the build.

*** Error code 1

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.