読者です 読者をやめる 読者になる 読者になる

mfks17's blog(Life is Good !!)

趣味や思った事を書いていくと思います

Ubuntu12.04-LTSにsun-java-jdkをインストールする

VMにいれたubuntuに巷で噂の引っ張りだこ執事を入れようと思い、まずは意気揚々としていたのですが、Javaが入っていないことが判明したので、まずそこから解決しようと思います。

参考サイト様


Ubuntu 12.04 LTSにSun Javaをインストール

検証環境


  • Ubuntu12.04-LTS_i386(macのVM−Fusion上)

  • とはいっても、コマンドまんまコピペですけどねXD

    まず、Javaが入っていなことを確認

    $ java -version
    プログラム 'java' は以下のパッケージで見つかりました:
     * default-jre
     * gcj-4.6-jre-headless
     * openjdk-6-jre-headless
     * gcj-4.5-jre-headless
     * openjdk-7-jre-headless
    次の操作を試してください: sudo apt-get install <選択したパッケージ>
    

    add-apt-repositoryコマンドをインストール

    $ sudo apt-get install python-software-properties
    [sudo] password for typosterr: 
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています                
    状態情報を読み取っています... 完了
    python-software-properties はすでに最新バージョンです。
    以下のパッケージが自動でインストールされましたが、もう必要とされていません:
      linux-headers-3.2.0-36-generic-pae linux-headers-3.2.0-30 linux-headers-3.2.0-30-generic-pae linux-headers-3.2.0-36
    これらを削除するには 'apt-get autoremove' を利用してください。
    アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
    

    すでに入っているようです。

    • "sudo: apt-add-repository: command not found" の対処法

    Javaリポジトリの追加
    ppaの説明はこちらが詳しいと思います。

    $ sudo apt-add-repository ppa:flexiondotorg/java
    You are about to add the following PPA to your system:
     tag:launchpad.net:2008:redacted
     More info: https://launchpad.net/~flexiondotorg/+archive/java
    Press [ENTER] to continue or ctrl-c to cancel adding it
    
    gpg: 鍵輪「/tmp/tmpuo6OgV/secring.gpg」ができました
    gpg: 鍵輪「/tmp/tmpuo6OgV/pubring.gpg」ができました
    gpg: “tag:launchpad.net:2008:redacted”鍵IDではありません: とばします
    recv failed
    |<<
    <br />なんか、嫌な予感が、、、
    >|sh|
    $ sudo apt-get update
    
    ~~~~
    パッケージリストを読み込んでいます... 完了
    W: GPG エラー: http://ppa.launchpad.net precise Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 2EA8F35793D8809A
    


    やっぱり、、
    でもこんなときは、焦らずまずグーグル先生にエラー文言でググるというバッドノウハウを適応します。
    早速、ヒットしました。

    • Ubuntu日本語フォーラム

    どうやら、鍵のインポートをしているようです。(まったく分かってない)

    ではやってみます。(作業として)

    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2EA8F35793D8809A
    Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yOaJ8M7pBc --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 2EA8F35793D8809A
    gpg: 鍵93D8809Aをhkpからサーバーkeyserver.ubuntu.comに要求
    gpg: 鍵93D8809A: 公開鍵“Launchpad PPA for Martin Wimpress”を読み込みました
    gpg: 処理数の合計: 1
    gpg:               読込み: 1  (RSA: 1)
    

    今度こそ

    $ sudo apt-get update
    ~~~~~
    316 B を 4秒 で取得しました (71 B/s)
    パッケージリストを読み込んでいます... 完了
    

    おっ、エラーってない。

    どうやら、うまく行ったみたいなので、インストールしてみます。

    $ sudo apt-get install sun-java6-jre sun-java6-jdk sun-java6-plugin
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています                
    状態情報を読み取っています... 完了
    以下のパッケージが自動でインストールされましたが、もう必要とされていません:
      linux-headers-3.2.0-36-generic-pae linux-headers-3.2.0-30 linux-headers-3.2.0-30-generic-pae linux-headers-3.2.0-36
    これらを削除するには 'apt-get autoremove' を利用してください。
    以下の特別パッケージがインストールされます:
      gsfonts-x11 java-common libodbc1 odbcinst odbcinst1debian2 sun-java6-bin unixodbc
    提案パッケージ:
      default-jre equivs libmyodbc odbc-postgresql tdsodbc unixodbc-bin binfmt-support sun-java6-demo default-jdk-doc sun-java6-source sun-java6-fonts ttf-baekmuk
      ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming
    以下のパッケージが新たにインストールされます:
      gsfonts-x11 java-common libodbc1 odbcinst odbcinst1debian2 sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin unixodbc
    アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 0 個。
    57.3 MB のアーカイブを取得する必要があります。
    この操作後に追加で 165 MB のディスク容量が消費されます。
    続行しますか [Y/n]? y
    取得:1 http://jp.archive.ubuntu.com/ubuntu/ precise/main libodbc1 i386 2.2.14p2-5ubuntu3 [225 kB]
    取得:2 http://jp.archive.ubuntu.com/ubuntu/ precise/main odbcinst i386 2.2.14p2-5ubuntu3 [13.6 kB]
    取得:3 http://jp.archive.ubuntu.com/ubuntu/ precise/main odbcinst1debian2 i386 2.2.14p2-5ubuntu3 [47.9 kB]
    取得:4 http://jp.archive.ubuntu.com/ubuntu/ precise/main gsfonts-x11 all 0.22 [9,108 B]
    取得:5 http://jp.archive.ubuntu.com/ubuntu/ precise/main java-common all 0.43ubuntu2 [61.7 kB]
    取得:6 http://jp.archive.ubuntu.com/ubuntu/ precise/main unixodbc i386 2.2.14p2-5ubuntu3 [21.8 kB]
    取得:7 http://ppa.launchpad.net/flexiondotorg/java/ubuntu/ precise/main sun-java6-jre all 6.30-2~precise1 [9,227 kB]
    取得:8 http://ppa.launchpad.net/flexiondotorg/java/ubuntu/ precise/main sun-java6-bin i386 6.30-2~precise1 [27.5 MB]                                                      
    取得:9 http://ppa.launchpad.net/flexiondotorg/java/ubuntu/ precise/main sun-java6-jdk i386 6.30-2~precise1 [20.2 MB]                                                      
    取得:10 http://ppa.launchpad.net/flexiondotorg/java/ubuntu/ precise/main sun-java6-plugin i386 6.30-2~precise1 [1,808 B]                                                  
    57.3 MB を 38秒 で取得しました (1,497 kB/s)                                                                                                                               
    以前に未選択のパッケージ libodbc1 を選択しています。
    (データベースを読み込んでいます ... 現在 205007 個のファイルとディレクトリがインストールされています。)
    (.../libodbc1_2.2.14p2-5ubuntu3_i386.deb から) libodbc1 を展開しています...
    以前に未選択のパッケージ odbcinst を選択しています。
    (.../odbcinst_2.2.14p2-5ubuntu3_i386.deb から) odbcinst を展開しています...
    以前に未選択のパッケージ odbcinst1debian2 を選択しています。
    (.../odbcinst1debian2_2.2.14p2-5ubuntu3_i386.deb から) odbcinst1debian2 を展開しています...
    以前に未選択のパッケージ gsfonts-x11 を選択しています。
    (.../gsfonts-x11_0.22_all.deb から) gsfonts-x11 を展開しています...
    以前に未選択のパッケージ java-common を選択しています。
    (.../java-common_0.43ubuntu2_all.deb から) java-common を展開しています...
    以前に未選択のパッケージ sun-java6-jre を選択しています。
    (.../sun-java6-jre_6.30-2~precise1_all.deb から) sun-java6-jre を展開しています...
    以前に未選択のパッケージ unixodbc を選択しています。
    (.../unixodbc_2.2.14p2-5ubuntu3_i386.deb から) unixodbc を展開しています...
    以前に未選択のパッケージ sun-java6-bin を選択しています。
    (.../sun-java6-bin_6.30-2~precise1_i386.deb から) sun-java6-bin を展開しています...
    以前に未選択のパッケージ sun-java6-jdk を選択しています。
    (.../sun-java6-jdk_6.30-2~precise1_i386.deb から) sun-java6-jdk を展開しています...
    以前に未選択のパッケージ sun-java6-plugin を選択しています。
    (.../sun-java6-plugin_6.30-2~precise1_i386.deb から) sun-java6-plugin を展開しています...
    man-db のトリガを処理しています ...
    fontconfig のトリガを処理しています ...
    doc-base のトリガを処理しています ...
    Processing 3 added doc-base files...
    Registering documents with scrollkeeper...
    shared-mime-info のトリガを処理しています ...
    bamfdaemon のトリガを処理しています ...
    Rebuilding /usr/share/applications/bamf.index...
    desktop-file-utils のトリガを処理しています ...
    gnome-menus のトリガを処理しています ...
    libodbc1 (2.2.14p2-5ubuntu3) を設定しています ...
    gsfonts-x11 (0.22) を設定しています ...
    java-common (0.43ubuntu2) を設定しています ...
    odbcinst1debian2 (2.2.14p2-5ubuntu3) を設定しています ...
    unixodbc (2.2.14p2-5ubuntu3) を設定しています ...
    sun-java6-jre (6.30-2~precise1) を設定しています ...
    sun-java6-bin (6.30-2~precise1) を設定しています ...
    update-alternatives: /usr/bin/ControlPanel (ControlPanel) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/ControlPanel を使います。
    update-alternatives: /usr/bin/java (java) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/java を使います。
    update-alternatives: /usr/bin/java_vm (java_vm) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/java_vm を使います。
    update-alternatives: /usr/bin/javaws (javaws) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/javaws を使います。
    update-alternatives: /usr/bin/jcontrol (jcontrol) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/jcontrol を使います。
    update-alternatives: /usr/bin/keytool (keytool) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/keytool を使います。
    update-alternatives: /usr/bin/pack200 (pack200) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/pack200 を使います。
    update-alternatives: /usr/bin/policytool (policytool) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/policytool を使います。
    update-alternatives: /usr/bin/rmid (rmid) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/rmid を使います。
    update-alternatives: /usr/bin/rmiregistry (rmiregistry) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/rmiregistry を使います。
    update-alternatives: /usr/bin/unpack200 (unpack200) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/unpack200 を使います。
    update-alternatives: /usr/bin/orbd (orbd) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/orbd を使います。
    update-alternatives: /usr/bin/servertool (servertool) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/servertool を使います。
    update-alternatives: /usr/bin/tnameserv (tnameserv) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/bin/tnameserv を使います。
    update-alternatives: /usr/bin/jexec (jexec) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/jre/lib/jexec を使います。
    sun-java6-jdk (6.30-2~precise1) を設定しています ...
    update-alternatives: /usr/bin/HtmlConverter (HtmlConverter) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/HtmlConverter を使います。
    update-alternatives: /usr/bin/appletviewer (appletviewer) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/appletviewer を使います。
    update-alternatives: /usr/bin/apt (apt) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/apt を使います。
    update-alternatives: /usr/bin/extcheck (extcheck) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/extcheck を使います。
    update-alternatives: /usr/bin/idlj (idlj) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/idlj を使います。
    update-alternatives: /usr/bin/jar (jar) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jar を使います。
    update-alternatives: /usr/bin/jarsigner (jarsigner) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jarsigner を使います。
    update-alternatives: /usr/bin/java-rmi.cgi (java-rmi.cgi) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/java-rmi.cgi を使います。
    update-alternatives: /usr/bin/javac (javac) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/javac を使います。
    update-alternatives: /usr/bin/javadoc (javadoc) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/javadoc を使います。
    update-alternatives: /usr/bin/javah (javah) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/javah を使います。
    update-alternatives: /usr/bin/javap (javap) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/javap を使います。
    update-alternatives: /usr/bin/jconsole (jconsole) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jconsole を使います。
    update-alternatives: /usr/bin/jdb (jdb) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jdb を使います。
    update-alternatives: /usr/bin/jhat (jhat) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jhat を使います。
    update-alternatives: /usr/bin/jinfo (jinfo) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jinfo を使います。
    update-alternatives: /usr/bin/jmap (jmap) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jmap を使います。
    update-alternatives: /usr/bin/jps (jps) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jps を使います。
    update-alternatives: /usr/bin/jrunscript (jrunscript) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jrunscript を使います。
    update-alternatives: /usr/bin/jsadebugd (jsadebugd) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jsadebugd を使います。
    update-alternatives: /usr/bin/jstack (jstack) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jstack を使います。
    update-alternatives: /usr/bin/jstat (jstat) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jstat を使います。
    update-alternatives: /usr/bin/jstatd (jstatd) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/jstatd を使います。
    update-alternatives: /usr/bin/native2ascii (native2ascii) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/native2ascii を使います。
    update-alternatives: /usr/bin/rmic (rmic) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/rmic を使います。
    update-alternatives: /usr/bin/schemagen (schemagen) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/schemagen を使います。
    update-alternatives: /usr/bin/serialver (serialver) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/serialver を使います。
    update-alternatives: /usr/bin/wsgen (wsgen) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/wsgen を使います。
    update-alternatives: /usr/bin/wsimport (wsimport) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/wsimport を使います。
    update-alternatives: /usr/bin/xjc (xjc) を提供するために 自動モード で /usr/lib/jvm/java-6-sun/bin/xjc を使います。
    sun-java6-plugin (6.30-2~precise1) を設定しています ...
    odbcinst (2.2.14p2-5ubuntu3) を設定しています ...
    libc-bin のトリガを処理しています ...
    ldconfig deferred processing now taking place
    


    では、確認してみます。

    $ java -version
    java version "1.6.0_30"
    Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
    Java HotSpot(TM) Server VM (build 20.5-b03, mixed mode)
    


    成功です

    インストールが成功すると、シンボリックリンクが貼られてますね。

    $ cd /usr/lib/jvm/
    $ ll
    合計 48
    drwxr-xr-x   3 root root  4096  211 19:38 ./
    drwxr-xr-x 186 root root 36864  211 19:38 ../
    -rw-r--r--   1 root root  2448  110  2012 .java-6-sun.jinfo
    lrwxrwxrwx   1 root root    19  110  2012 java-6-sun -> java-6-sun-1.6.0.30/
    drwxr-xr-x   8 root root  4096  211 19:38 java-6-sun-1.6.0.30/
    


    あとは、Javaの設定などをリソースファイルに書いておくと楽だよと書いてあります

    こんな風らしいです

    JAVA_HOME="/usr/lib/jvm/java-6-sun"
    CLASSPATH=".:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar"
    export JAVA_HOME CLASSPATH
    


    Javaをインストールするにも色々あるものですね。

    最後までお読みいただきありがとうございましたm(_ _)m