2011年11月28日月曜日

Ubuntu 11.10 "Oneiric Ocelot" での sun-java6-jdk パッケージのインストール

【重要】 その後状況が変わり、LffL Java PPA や従来の sun-java6 パッケージ群を使用することは推奨できない状況となりました。開発環境として Oracle JDK を維持しないといけない方へ導入記事をこちらに書きましたので、そちらをご覧ください(2011/12/22 追記)。


先日、「第21回 日本Androidの会 東北支部発信会」で GDD 2011 の参加報告ということで喋ってきたのですが、懇親会で「Ubuntu を普段づかいにしてるのって珍しいね」と言われてちょっとヘコんでいる今日この頃です。

さて、Ubuntu 11.10 "Oneiric Ocelot" を新規にセットアップする際にハマりがちになるのは実は Java6 JDK 環境だったりします。というのは Ubuntu 11.10 になって sun-java6-jdk パッケージが partner レポジトリから削除され、 「partner レポジトリを有効にする」という従来の方法ではインストールすることができなくなったためです。アップグレードインストールで 11.10 環境を作った場合にはすでにインストールされている sun-java6-jdk パッケージが維持されているので見落としがちになるのですが、新規に環境を作る時にハマってしまうポイントです。

どうしてこういうことになったのかというと、他でもなくライセンスの都合ということになるのですが、特に Android 開発では Java6 JDK がないとはじまらない部分があるのでなんとかしたいところです。現状は
  • OpenJDK ( 6 もしくは 7 ) を使う
  • Oracle から公式のパッケージをダウンロードしてそれを使う
  • LffL Java PPA を利用する
という 3 つの選択肢があります。どれがいいのかという議論になるのですが、Android 開発をすることを念頭に入れると、互換性の問題を踏むと厄介そうだというのと、公式のパッケージを使った場合には /usr/lib/jvm 以下に正しくファイルを配置しないといけないということから、 LffL Java PPA を使ってみたいと思います。

PPA という仕組みを使ってインストールすることになるので、前もって

# apt-get install python-software-properties

として、add-apt-repository コマンドをインストールして、 LffL Java PPA の登録を行います。

# add-apt-repository ppa:ferramroberto/java
You are about to add the following PPA to your system:
 LffL Java
 PPA esclusivo per l'ultima versione disponibile di JAVA

PPA for the latest version of JAVA

PPA fur die neueste Version von JAVA

PPA para la ultima version de JAVA

PPA pour la derniere version de JAVA


by LffL http://www.lffl.org

 More info: https://launchpad.net/~ferramroberto/+archive/java
Press [ENTER] to continue or ctrl-c to cancel adding it

(確認のためにここで止まりますので、ENTER キーを押して先に進みます)
(やめる時には Ctrl+C で add-apt-repository コマンドを停止させます)

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.cQGIjhdptt --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80/ --recv 3E756CF119B127D4DA40A186B725097B3ACC3965
gpg: requesting key 3ACC3965 from hkp server keyserver.ubuntu.com
gpg: key 3ACC3965: public key "Launchpad lffl" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

PPA の登録が済んだら、apt-get update, apt-get install コマンドでインストールします。

# apt-get update
...
# apt-get install sun-java6-jdk sun-java6-plugin
...

インストールが終わったら

$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

として、バージョンを確認しておくと良いでしょう。またすでに OpenJDK 環境をインストールしている場合には、update-alternatives コマンドで切り替えておくとよいと思います。

2011年11月24日木曜日

「グーグルの72時間」がPDFファイルで無料公開

Impress Japan さんより、12/8 に発売される予定の「IT時代の震災と核被害」の冒頭部分、「グーグルの72時間」の部分の PDF ファイルが無料で公開されています。

内容としては、震災が起きたその前後のリアルなドキュメントや、恐るべき早さでリリースされたパーソンファインダーとその舞台裏やエンジニア達の試行錯誤や葛藤といったことが非常にいきいきと描かれています。

いまや誰もがその名前を知っているであろう Google ですが、中で奮闘しているエンジニアの生の働きぶりや情熱といったものはなかなか外部に知らされる機会はありません。あの震災とその混乱の裏でこれだけの情熱とそれを支える体制が迅速にとられたということが、これだけの成果をあげることができた要因だったのではないでしょうか。
「いくら若いメンバーでも、何日も極度の緊張をしいられる状態が続くと、相当に参ってきます。そのときみんなを踏んばらせたのは三浦です。災害現場では最初の72時間を過ぎると生存率が下がることは、みんなも頭ではわかっている。しかし、神戸の震災を経験している彼がいうと、リアリティが違います。ほかにも阪神大震災の経験者がいて、彼らの声に励まされ、とにかく必死でがんばることができました」
私の当時の状況を振り返ると、幸い電気や水道などのライフラインは無事だったものの、物流が完全に麻痺し、 次第にサバイバル的な状況となる中、目前の状況への対応に追われていたように思います。極限状態でどのようなパフォーマンスを発揮できるのかがその人や組織の真価だといわれることがよくありますが、もっとも優秀だとされるエンジニア集団がどう動いたのかということについて非常に参考となりました。

ただひとつ非常に気にかかるのは、本来こういった公共的な機能を果たすべき行政機関について
一方、災害時にもっとも重要かつ信頼できる第一次情報を発すべき政府と行政は、安否情報システムひとつをとっても、十分な機能を果たせなかった。原発や核被害に関する第一次情報についても同様である。私企業にまかせておくだけでいいのか、という点については、市民であるわれわれもまた、社会の一員として再考しなければならない。
 と厳しい評価を下さざるをえない状況があるということだと思います。賞までいただいてしまいました「牛トレーサー」の件や、福島をはじめとしたガイガーカウンター自作ムーブメント、様々なボランティアプロジェクトなど震災以降色々な人がそれぞれのリソースを持ち寄って身を切って復興を目指しているという状況やその情熱を、未来に活かせていけるような社会になればとささやかに思うのでした。