この人頭いいなと思ったエピソード

いつも参考にさせて頂いています。
Fedora8をインストールし、jdk1.5.0_15をインストールしたのですが、# rpm -aq | grep java
でパッケージを確認したところ、下記のように表示されました。

sun-javadb-client-10.3.1-4.1
tzdata-java-2007h-1.fc8
java_cup-0.10-0.k.6jpp.1
java-1.7.0-icedtea-plugin-1.7.0.0-0.19.b21.snapshot.fc8
sun-javadb-common-10.3.1-4.1
sun-javadb-docs-10.3.1-4.1
java-1.5.0-gcj-1.5.0.0-17.fc8
sun-javadb-core-10.3.1-4.1
sun-javadb-javadoc-10.3.1-4.1
java-1.7.0-icedtea-1.7.0.0-0.19.b21.snapshot.fc8
sun-javadb-demo-10.3.1-4.1

# java -version

とコマンドすると、
java version "1.7.0"
IcedTea Runtime Environment (build 1.7.0-b21)
IcedTea Client VM (build 1.7.0-b21, mixed mode)

と表示されます。
私はJDK1.5.0_15を使いたいのですが、何かに上書きされている?
しかも一体どれが必要で何のためのパッケージなのかよくわからず困っています。
必要のないものはアンインストールしたいのですが…
JDK1.5を使用する場合、
「java-1.5.0-gcj-1.5.0.0-17.fc8」
以外は必要ないのでしょうか?

どうか宜しくお願いいたします。

A 回答 (5件)

同じLinuxでも、RPM系だとJVMにいくつかの種類があるため、注意が必要です。



(1)What is "JDK"?
・Sunのサイトから誰でも無料で入手できるSun純正のJava開発環境。com.sunで始まるパッケージの使用など、こっちでないと正常に動作しないこともたまにある。ビジネスでの使用時には、各バージョンごとのライフサイクルにも注意が必要。
・同じLinuxディストリビューションでも、TurboLinuxなどでは標準でこちらを採用している。(インストールが完了した時点で、環境設定などをしなくてもすぐに、javacやjavaの使用が可能。)
・国内のほとんどのJava本では、こちらの使用を想定している。(というか、すべて?)
・主なパッケージ名→「jdk-1.5.0_15-fcs」

(2)What is "gcj"?
・正式名称は、「the Java compiler from GNU Compiler Collection」。こっちでコンパイルすると、実行時にはJREではなくlibgcjの方も必要となる。
・Fedoraなどでは、インストール時のパッケージ選択で「Java」を含めていると、こっちの方が勝手に必要な他のパッケージと共にインストールされてしまう。
・Eclipseも同様にインストールしようものなら、さらに余計なパッケージもたくさんインストールされてしまう、本当に本当にお節介なパッケージ。
・主なパッケージ名→「java-1.5.0-gcj-1.5.0.0-17.fc8」、「libgcj-4.1.2-33」


基本的には、どちらもインストールされていても正常に動作はするのですが(現に私の今、利用しているFedora8には両方入っている。)、環境変数の設定時には注意が必要です。

まずは、Sunのサイトや書籍の付録などからJDKを個別にインストール。その後、ホームディレクトリ内の隠しファイル「.bash_profile」の一番下に、以下の記述を追加して下さい。

export JAVA_HOME=/usr/java/jdk1.5.0_15
export PATH=$JAVA_HOME/bin:$PATH

それから、「source ~/.bash_profile」を実行して設定の変更を反映ですね。ここで重要なことは、環境変数PATHの定義の際に、既存の「$PATH」よりも使用したいJDKのbinディレクトリへのパスを前に記述していることに注意して下さい。これを逆にしてしまうと、せっかくJDKのインストールが正常に完了しても、bashは「/usr/bin/ecj」(コンパイル時)や「/usr/bin/gij」(実行時)の方を利用してしまいますし、「java -version」でもJDKの方を表示してくれません。

最も「GNU系のJava」なんていらない、っていうのでしたら、#1さんのおっしゃるように「ソフトウェアの追加/削除」(通称、pirut)から検索語を『gcj』とした後に、緑色のチェックボタンを外してから右下の適用ボタンを押下して下さい。そしたらば、後は勝手に関連するパッケージと共にアンインストールが開始されていきますから。

参考URL:http://java.sun.com/j2se/1.5.0/ja/install-linux. …
    • good
    • 0

いいサイトをたまたま発見したので、載せておく。

(ご存知の通り、既に私的にも利用しています、はい。)

「Sunの提供するJavaを使う」
http://www.hrtdotnet.jp/linux/java.html
    • good
    • 0

誰もつっこんでくれないので、自分でツッコミを入れてみる。



Fedora8に標準で収録されている「IcedTea」でも基本的にはJREと同等の実行が可能らしいですが、日経Linuxの記事によると「Javaアプレットでの日本語の表示に問題がある」とのことです。詳しくは、以下のページを参照のこと。

/**
日経Linux 2008年1月号 p.47
「特集1 驚異の新世代デスクトップ Fedora8を今すぐ使いこなそう!」
PART3 システム環境整備
図1 Javaアプレットで日本語を表示するための作業
(→日本語フォントのリンクを作成。)
*/

最後に、言葉のまとめです。

(1)SunのJava(再配布に制限あり。)
・開発環境→JDK
・実行環境→JRE

(2)GNU/LinuxのJava(Sunが公開した「OpenJDK」のソースを基に、IcedTeaを開発。)
・開発環境→GCJ[GNU Compiler for Java]
・実行環境→IcedTea

参考URL:http://opentechpress.jp/opensource/07/11/06/0821 …
    • good
    • 0

分からないのなら今のうちにjavaを全部アンインストールすれば良い。



yum ? apt-get ?この辺りを使っているなら
必要なものだけインストールするのは楽でしょ?
それか、
SUNのサイトからLinux系をダウンロードしてインストールした方が
マシン的にも精神的にも優しいよ。
とにかく今の状態のjavaは、全部削除した方がいいです。
# アイスティーなjavaってどこから拾ってきたの?
    • good
    • 0

私は質問者殿が「何を使って」インストールしたのか非常に興味がある。



まさかファイルをダウンロードしてrpmコマンドでインストールでしょうか?

ネットワークに接続されているなら、メニューから

 アプリケーション→ソフトウェアの追加/削除

を選択し、パッケージマネージャを呼び出してインストールなり、削除なりを行えばいいはずですが・・・
パッケージマネージャー経由でなら、(依存関係の絡みで)足りないパッケージがあるなら自動的に追加されますから。
削除の場合も依存関係はチェックしている筈なので、消えて拙いものは削除対象から外されるか、警告が出てくるとかされると思います。
(私は削除は余りしないので、自信が無いですけど)

#yum経由も依存関係はチェックしている
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報