AOSPのソースビルドなどのために、UbuntuにOracle(Sun)のJava6環境が必要なケースはあると思うのだけども、ここ数ヶ月くらいの間にUbuntuリポジトリから削除されてしまってるとのこと。
なので、AOSPのサイトに書かれている以下の方法も今では「パッケージが見つかりません」みたいなエラーになって使えないと。
1 2 3 | <span class= "hljs-meta" >$< /span ><span class= "bash" > sudo add-apt-repository <span class= "hljs-string" > "deb http://archive.canonical.com/ lucid partner" < /span >< /span > <span class= "hljs-meta" >$< /span ><span class= "bash" > sudo apt-get update< /span > <span class= "hljs-meta" >$< /span ><span class= "bash" > sudo apt-get install sun-java6-jdk< /span > |
で、これを回避しようとググってみるとPPAで有志が独自に公開してるaptリポジトリを追加してそこからインストールするとか、aptを使わずにOracleサイトからパッケージ落としてきてインストールするなどあるらしい。
お手軽なのはPPAリポジトリ形式で、これはppa:ferramrobertoを使うサンプルを多く見かける。
1 2 3 4 | $ sudo apt-get <span class= "hljs-keyword" > install < /span > python-software-properties $ sudo <span class= "hljs-keyword" >add< /span >-apt-repository ppa:ferramroberto/<span class= "hljs-keyword" >java< /span > $ sudo apt-<span class= "hljs-keyword" >get< /span > <span class= "hljs-keyword" >update< /span > $ sudo apt-<span class= "hljs-keyword" >get< /span > <span class= "hljs-keyword" > install < /span > sun-java6-jdk sun-java6-<span class= "hljs-keyword" >plugin< /span > |
ただし正確にはOracle(Java?)のライセンスや著作権的にppaで独自にパッケージ配布するのはNGなようなのでこの方式はグレー(実際にはきちんとインストールできるし、動作は問題無いけど)。
かといって、いちばん真っ当な手順と思われるOracleサイトからダウンロードしてインストールする方式だと、インストールした後の環境設定が少し面倒。
Ubuntu公式のドキュメントでJava6の項を見てみると、
Java - Community Ubuntu Documentation
ppa:ferramrobertoを公開していた人がライセンス・著作権問題をクリアにした形でインストールできるスクリプトを作って公開していた。
flexiondotorg/oab-java6 · GitHub
Downloads the Java binary installers from Oracle, builds the .deb packages locally on your computer and then installs them. Packages are compatible with the “official” Ubuntu ones and will upgrade Java 6 that was previously installed from packages.
・Oracleサイトからのバイナリパッケージダウンロード
・.debファイル化
・ローカルのaptリポジトリとして構築
までを自動で行うスクリプトのようだ。JDKのバイナリをOracleサイトからきちんとダウンロードすることで諸問題を回避しているぽい。
githubのreadmeに書かれているとおりにスクリプトをダウンロードして実行する。
1 2 3 4 | <span class= "hljs-attr" > cd < /span > <span class= "hljs-string" >~/< /span > <span class= "hljs-attr" >wget< /span > <span class= "hljs-string" >https: //github .com /flexiondotorg/oab-java6/raw/0 .2.0 /oab-java6 .sh -O oab-java6.sh< /span > <span class= "hljs-attr" > chmod < /span > <span class= "hljs-string" >+x oab-java6.sh< /span > <span class= "hljs-attr" > sudo < /span > <span class= "hljs-string" >. /oab-java6 .sh< /span > |
すると、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | oab-java6.sh v0.1.9 - <span class= "hljs-keyword" >Create< /span > a <span class= "hljs-keyword" > local < /span > <span class= "hljs-string" > 'apt' < /span > repository <span class= "hljs-keyword" > for < /span > Ubuntu <span class= "hljs-keyword" >Java< /span > packages. Copyright (c) Martin Wimpress, <span class= "hljs-keyword" >http< /span >: //flexion .org. MIT License <span class= "hljs-keyword" >By< /span > running this script <span class= "hljs-keyword" >to< /span > download <span class= "hljs-keyword" >Java< /span > you acknowledge that you have <span class= "hljs-keyword" > read < /span > <span class= "hljs-keyword" >and< /span > accepted the terms <span class= "hljs-keyword" >of< /span > the <span class= "hljs-keyword" >Oracle< /span > <span class= "hljs-keyword" >end< /span > <span class= "hljs-keyword" >user< /span > license agreement. * <span class= "hljs-keyword" >http< /span >: //www .oracle.com /technetwork/ <span class= "hljs-keyword" >java< /span > /javase/terms/license/ <span class= "hljs-keyword" >If< /span > you want <span class= "hljs-keyword" >to< /span > see what this <span class= "hljs-keyword" >is< /span > script <span class= "hljs-keyword" >is< /span > doing <span class= "hljs-keyword" > while < /span > it <span class= "hljs-keyword" >is< /span > running <span class= "hljs-keyword" > then < /span > <span class= "hljs-keyword" >execute< /span > the <span class= "hljs-keyword" >following< /span > <span class= "hljs-keyword" >from< /span > another shell: tail -f /home/findup/oab-java6 .sh.log Downloading common.sh [x] Installing <span class= "hljs-keyword" >Java< /span > <span class= "hljs-keyword" >build< /span > requirements <span class= "hljs-keyword" >success< /span > [x] Making <span class= "hljs-keyword" >build< /span > directories <span class= "hljs-keyword" >success< /span > [x] Removing clones <span class= "hljs-keyword" >of< /span > https: //github .com /rraptorr/sun-java6 <span class= "hljs-keyword" >success< /span > [x] Cloning https: //github .com /rraptorr/sun-java6 <span class= "hljs-keyword" >success< /span > [x] Checking <span class= "hljs-keyword" >out< /span > v6<span class= "hljs-number" >.31< /span ><span class= "hljs-number" >-2< /span > <span class= "hljs-keyword" >success< /span > [x] Getting <span class= "hljs-keyword" >Java< /span > SE download pagesuccess [x] Getting <span class= "hljs-keyword" >current< /span > <span class= "hljs-keyword" >release< /span > download page <span class= "hljs-keyword" >success< /span > [x] Downloading jdk<span class= "hljs-number" >-6< /span >u31-linux-i586.bin : <span class= "hljs-number" >81.34< /span > MB <span class= "hljs-keyword" >success< /span > [x] Symlinking jdk<span class= "hljs-number" >-6< /span >u31-linux-i586.bin <span class= "hljs-keyword" >success< /span > [x] Downloading jdk<span class= "hljs-number" >-6< /span >u31-linux-x64.bin : <span class= "hljs-number" >81.62< /span > MB <span class= "hljs-keyword" >success< /span > [x] Symlinking jdk<span class= "hljs-number" >-6< /span >u31-linux-x64.bin <span class= "hljs-keyword" >success< /span > [x] Updating the changelog <span class= "hljs-keyword" >success< /span > [x] Building the packages <span class= "hljs-keyword" >success< /span > [x] Moving the packages <span class= "hljs-keyword" >success< /span > [x] Creating Packages.gz <span class= "hljs-keyword" > file < /span > <span class= "hljs-keyword" >success< /span > [x] Creating <span class= "hljs-keyword" >Release< /span > <span class= "hljs-keyword" > file < /span > <span class= "hljs-keyword" >success< /span > [x] Signing the <span class= "hljs-string" > 'Release' < /span > <span class= "hljs-keyword" > file < /span > <span class= "hljs-keyword" >success< /span > [x] Exporting <span class= "hljs-keyword" >public< /span > <span class= "hljs-keyword" >key< /span > <span class= "hljs-keyword" >success< /span > [x] Adding <span class= "hljs-keyword" >public< /span > <span class= "hljs-keyword" >key< /span > <span class= "hljs-keyword" >success< /span > [x] <span class= "hljs-keyword" >Update< /span > <span class= "hljs-keyword" >package< /span > <span class= "hljs-keyword" >list< /span > <span class= "hljs-keyword" >success< /span > <span class= "hljs-keyword" >All< /span > done ! |
っという感じでダウンロードとローカルなaptリポジトリを設定するところまで行ってくれる。あとはいつものように
1 2 | $ sudo apt-get <span class= "hljs-keyword" >update< /span > $ sudo apt-<span class= "hljs-keyword" >get< /span > <span class= "hljs-keyword" > install < /span > sun-java6-jdk |
とやればJava6 SDKがインストールできる。
Java6 SDKの最近のインストール方法はいろいろあるけど、こういう方法もあるよ、ということで。
まぁ個人的にはAOSPビルドにしか使わないので、AOSPがOpenJDKに対応してくれるほうが良いかなぁとは思うけど。
コメント