2013年5月25日土曜日

Rubyの為のEclipse及びPleiadesのインストール

RubyのIDEとしてRubyMineを強く押されたのだが、社内はEclipse使いが多い事、RubyMineがそれほど使いやすいのであれば当て馬比較用としてUbuntu13.04にEclipseを導入してみることに。

Eclipseのインストールは以下のサイトから、Eclipse IDE for Java EE Developersを選択。
現時点での最新はJuno(4.2)
http://www.eclipse.org/downloads/

Pleiadesのインストールは以下のサイトからプラグインをダウンロードする。
今回は安定版の1.4.0をDLした。
http://mergedoc.sourceforge.jp/index.html#pleiades.html


Eclipseは、eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gzが、
Pleiadesは、pleiades_1.4.0.zipがDLされる。

それぞれ解凍して、Pleiadesのplugins、features ディレクトリをEclipseのHOMEにコピーする。

Eclipseを起動すると、日本語化もされるのだが、残念な事に左端のアイコンが残念なことになるので、以下を参考に。
http://blog.animato99.info/?p=1446


そして、ようやくRubyが使えるようにするためにEclipseのプラグイン版RadRailsをDLする。
http://aptana.com/products/studio3/download

※AptanaはOpenJDKに対応していないので注意。

RadRailsのインストールについてはこちらに詳しく書かれている。
http://www.kkaneko.com/rinkou/javaintro/rdt.html

Eclipseを起動し、projectを作成してデバッグすると、こんなエラーが発生。


ruby-debug-ideがないと怒られるので、調べてみると、Linuxの場合はgem installでインストールできるとのこと。
$ gem install linecache19
$ gem install ruby-debug
$ gem install ruby-debug-ide
どうも色々、めんどくさい。

なるほど。RubyMine一択と推される気がわかるような気がする。







RubyMineのインストール

RubyのIDEについて有償ではあるが、RubyMineが秀逸であるとのコメントをいただき、インストールしてみた。

現在のバージョンは5.4であり、Ruby2.0にも対応しているという。

1.ダウンロード
1.1.以下のURLから30日間無料の評価版をDLする。
Ruby on Rails IDE :: JetBrains RubyMine


2.インストール
1.2.DLしたファイル内にあるInstall-Linux-tar.txtがあるのでこれを見ながらインストールする。
(1)RubyMineをインストールしたい場所に解凍。

(2)解凍したディレクトリ配下のbinディレクトリにて以下を実施するとアプリケーションが起動する。
$ ./rubymine.sh
(3)Complete Installationというダイアログが表示され古いバージョンのRubyMineを持っているなら設定を引き継ぐためのpathを入力せよとあるが、今回は新規なので、「Ido not hava a previous version of RubyMine or I do not want to import my settings」を選択(デフォルトではこちら)し、「OK」をクリック。

(4)Enter JetBrains RubyMine Licenseというダイアログが表示される。評価用なので、「Evalute for free for 30 days」を選択し、「OK」をクリック。

(5)License Agreement for JetBrains RubyMine 5.4.2というダイアログが表示される。
同意して先に進みたいので、ここでは「Accept all termas of the license」を選択して「OK」をクリック。

(6)スプラッシュウィンドウが表示後、「JetBrains rubyMine Initial Configration」というウインドウが表示される。
Keymap scheme, IDE theme, Editor colors and fontsは後で変えられそうなのでデフォルトで。

(7)以下については
Enable opening files and projects from the command line
Script path:/usr/local/bin/mine->/home/xxxx/mine

Create desktop entry(integrate in system menu)

「OK」をクリック。



インストールはさくっと終わる。この辺は、Eclipseなどのように環境を整える面倒さがない。
RubyMineのインストールされたフォルダをのぞくとJarファイルがいっぱい入っているので、RubyMine自体はJavaアプリケーションのようだ。

Ubuntu13.04がゲストOSの場合に発生するVMwareの共有ディレクトリ不具合について

VMwareのゲストOSにLinuxを使用する場合、VMwareの共有ディレクトリを使ってホストOSと共有したくなる。
特に、ホストOSがWindowsの場合には。

共有ディレクトリを使うには、VMware Toolsを使用する。

VMware Toolsのインストール
Player→管理→Vmware Toolsのインストールをクリック。
/media/akihiro/VMware ToolsにVMwareTools-9.2.3-1031360.tar.gzとmanifest.txtが保存される。

アーカイブマネージャで上記のtarファイル内のフォルダを/tmpに展開。

Vmware Toolsのインストーラを実行。
$ cd /tmp/vmware-tools-distrib
$ sudo ./vmware-install.pl

しかし、これを実行しても、共有ディレクトリが有効にならない。

調査した結果、こんな記事が。
Ubuntu 13.04上でVMWare Toolsのshared foldersが有効に成らない場合


確認してみると確かに以下のメッセージが表示されていた。

make: ディレクトリ `/tmp/modconfig-1SEAJI/vmhgfs-only' に入ります
/usr/bin/make -C /lib/modules/3.8.0-19-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= modules
make[1]: ディレクトリ `/usr/src/linux-headers-3.8.0-19-generic' に入ります
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/backdoorGcc64.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/backdoor.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/bdhandler.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/cpNameLinux.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/cpNameLite.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/dentry.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/dir.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/file.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/filesystem.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/fsutil.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/hgfsBd.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/hgfsEscape.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/hgfsUtil.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/inode.o
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/link.o
/tmp/modconfig-1SEAJI/vmhgfs-only/inode.c: 関数 ‘HgfsTruncatePages’ 内:
/tmp/modconfig-1SEAJI/vmhgfs-only/inode.c:888:4: エラー: 関数 ‘vmtruncate’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/tmp/modconfig-1SEAJI/vmhgfs-only/inode.o] エラー 1
make[2]: *** 未完了のジョブを待っています....
  CC [M]  /tmp/modconfig-1SEAJI/vmhgfs-only/message.o
make[1]: *** [_module_/tmp/modconfig-1SEAJI/vmhgfs-only] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-3.8.0-19-generic' から出ます
make: *** [vmhgfs.ko] エラー 2
make: ディレクトリ `/tmp/modconfig-1SEAJI/vmhgfs-only' から出ます

リンク先に記述がある通り、ソースを確認すると、888行目に同じ個所があり、素直にリンク先の通り修正。

再度VMWare Toolsをinstallし直す。
$ cd /tmp/vmware-tools*
$ cd bin
$ sudo ./vmware-uninstall-tools.pl
$ cd ..
$ sudo ./vmware-install.pl

make: ディレクトリ `/tmp/modconfig-LmF2zy/vmhgfs-only' に入ります
/usr/bin/make -C /lib/modules/3.8.0-19-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= modules
make[1]: ディレクトリ `/usr/src/linux-headers-3.8.0-19-generic' に入ります
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/backdoorGcc64.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/backdoor.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/bdhandler.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/cpName.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/cpNameLinux.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/cpNameLite.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/dentry.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/dir.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/file.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/filesystem.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/fsutil.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/hgfsBd.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/hgfsEscape.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/hgfsUtil.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/inode.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/link.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/message.o
/tmp/modconfig-LmF2zy/vmhgfs-only/inode.c: 関数 ‘HgfsPermission’ 内:
/tmp/modconfig-LmF2zy/vmhgfs-only/inode.c:1756:8: 警告: ‘dentry’ はこの関数内初期化されずに使用されるかもしれません [-Wmaybe-uninitialized]
/tmp/modconfig-LmF2zy/vmhgfs-only/inode.c:1814:22: 備考: ‘dentry’ はここで定義されています
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/module.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/page.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/request.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/rpcout.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/stubs.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/super.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/tcp.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/transport.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/vmci.o
  CC [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/kernelStubsLinux.o
  LD [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/vmhgfs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-LmF2zy/vmhgfs-only/vmhgfs.mod.o
  LD [M]  /tmp/modconfig-LmF2zy/vmhgfs-only/vmhgfs.ko
make[1]: ディレクトリ `/usr/src/linux-headers-3.8.0-19-generic' から出ます
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
 MODULEBUILDDIR= postbuild
make[1]: ディレクトリ `/tmp/modconfig-LmF2zy/vmhgfs-only' に入ります
make[1]: `postbuild' は更新済みです
make[1]: ディレクトリ `/tmp/modconfig-LmF2zy/vmhgfs-only' から出ます
cp -f vmhgfs.ko ./../vmhgfs.o
make: ディレクトリ `/tmp/modconfig-LmF2zy/vmhgfs-only' から出ます

今度はちゃんとinode.cがコンパイルされている。
You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line.
To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.
と記述あるが、/usr/bin/vmware-toolbox-cmdは実行しても、オプションが足りないと怒られるので無視。
これだけ実行。
sudo /usr/bin/vmware-user
念の為、再起動し、/mnt/hgfsフォルダを確認するとホストOSとのフォルダが見えている。

素晴らしい!前述のリンク先の方に感謝し、すかさずフォローさせていただいたw




Ubuntu13.04へのJavaインストール

以下を参考にインストール。
Install Oracle Java 7 in Ubuntu via PPA Repository ~ Web Upd8: Ubuntu / Linux blog

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer

ここまで実行するとパッケージの設定画面が表示されるので、Enter。
License Agreementに関して聞かれるので「はい」を選択してEnter。

終了したらお約束のバージョンを確認。
$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)



Oracle11g for windowsインストール前の準備(ネットワーク関連)

最近のネットワーク事情からすると、固定IPアドレス1個で運用しているPCは少ないのではないだろうか?
DHCPを使用していたり、仮想環境を使用していれば、ネットワークアダプタも複数個作成される。
また、ネットワークカードを複数運用していることもある。

ORACLEはネットワークに関するトラブル(?)が多く、整理する必要があるなと思っていたら、ちゃんとOTNからDLできるドキュメントに書いてありましたよ、その辺のことが。

というわけで、以下の通りまとめてみた。



1.要件
 (1)DHCP環境で使用する。
 (2)外ではWiFiを使用し、社内では有線LANを使用している。
 (3)会社内外で使用するノートPCへORACLEをインストールする。
 (4)対象となるOSはWindows7 pro 64bit


2.ループバックアダプタのインストール
 まずDHCP環境を使用している場合は、ネットワークに接続するたびに動的アドレッシングによって、異なるIPアドレスが割り当てられることから、DHCP環境の場合には、ORACLEインストール前にループバック・アダプタをインストールして静的なIPアドレスを割り当てよとの記載がドキュメントにある。
 (1)「スタート」をクリックして、検索ボックスにhdwwizを入力。
 (2)hdwwizをクリックして、ハードウェアの追加ウィザードを開始。
 (3)ハードウェアの追加ウィザードの開始というウィンドウで「次へ」をクリック。
 (4)「ウィザードで、ほかのハードウェアをインストールできます。」ウィンドウで、「一覧から選択したハードウェアをインストールする」を選択し、「次へ」をクリック。
 (5)「共通ハードウェアの種類」リストから、「ネットワーク アダプター」を選択し、「次へ」をクリック。
 (6)「ネットワーク アダプターの選択」ウィンドウで、製造元:「Microsoft」を選択。
 (7)ネットワーク アダプター: 「Microsoft Loopback Adapter」を選択し、「次へ」をクリック。
 (8)「ハードウェアをインストールする準備ができました。」ウィンドウで「Microsoft Loopback Adapter」が選択されていることを確認して「次へ」をクリック。
 (9)「ハードウェアの追加ウィザードの完了」ウィンドウで、「完了」をクリック。
 (10)「ネットワークと共有センター」の「アダプターの設定の変更」から作成された接続(Microsoft Loopback Adapter)の「プロパティ」を選択。
 (11)「ネットワーク」タブで、「インターネット プロトコル バージョン4 (TCP/IPv4)」を選択し、「プロパティ」をクリック。
 (12)「全般」タブを選択し、「次のIPアドレスを使う」をクリック。
 (13)「IPアドレス」にループバック・アダプタのルーティング不能IPを入力。ORACLEのドキュメントで推奨されている「10.10.10.10」を入力。
 (14)「サブネット マスク」に255.255.255.0を入力。
 (15)その他すべてのフィールドは空白のまま「OK」をクリック。
 (16)「閉じる」をクリック。
 (17)コンピュータを再起動。


3.ホスト名の指定
 複数IPアドレスを持つコンピュータの場合、各IPアドレスにホスト名が関連付けられることからホスト名に別名を持たせることができる。
 デフォルトではOUIがORACLE_HOSTNAME環境変数の設定を使用してホスト名を検索することから以下の様にして環境変数を設定する。

 (1)「コントロールパネル」で「システム」を表示。
 (2)「システムのプロパティ」ダイアログ・ボックスで「詳細設定」をクリック。
 (3)「詳細設定」タブで、「環境変数」をクリック。
 (4)「環境変数」ダイアログ・ボックスで「システム環境変数」の下の「新規」をクリック。
 (5)「新しいシステム変数」ダイアログ・ボックスで、次の情報を入力。
  ・変数名: ORACLE_HOSTNAME
  ・変数値: 使用するコンピュータのホスト名(例:ORAX230)
 (6)「OK」をクリックし、「環境変数」ダイアログ・ボックスで「OK」をクリック。


4.ホスト名とループバックアダプタのひも付け
(1)「DRIVE_LETTER:\ WINDOWS\system32\drivers\etc\hostsファイルで、localhostの行の直後に次の形式の行を追加します」と、ドキュメントには記載がありますが、そのままだとセキュリティの関係で、変更することができないので、etcフォルダのプロパティ->セキュリティタブ->詳細設定->監査にてAdministratorsを追加。フォルダの所有権をAdministratorsとし、セキュリティタブに戻り、アクセス許可をフルコントロールに設定。
(2)エディタを管理者権限で実行し、hostsファイルを開く。

(3)最終行に以下を追加。
IP_address   hostname.domainname   hostname
例:10.10.10.10 orax230.x230 orax230
(4)確認の為、pingを実施。
ping -4 x230
  実行した結果、10.10.10.10からの応答があればOK。


以上の準備をしてからOracleをインストールすればネットワークに関するトラブルが軽減するはず…。

いまさらのXperia Ray root化

1.必要なファイルのダウンロード
 以下の必要なファイルのダウンロードをしておく。

1.1.FlashTool
1.2.旧ファームウェア(4.0.1.C.1.9)
1.3.DooMLoRD
 このファイルをDLすると、Anti Virus Softが以下のような警告を出すので、自己責任でDLする。
 root化するということはそういうことである。
 

1.4.Android SDK
 ①DOWNLOAD FOR OTHER PLATFORMをクリック。
 ②SDK Tools Onlyの中からandroid-sdk_r22-windows.zipを選択。
 ③「I have read and agree with the above terms and conditions」にチェックを入れてDL。


2.ツール類のインストール
2.1.FlashTool
 ①1.1.でDLしたファイルを使ってインストールする。
 ②インストール先のフォルダは任意の場所を指定する。
 ③インストール完了後、②で指定したフォルダ内にあるfirmwaresフォルダに1.2.の旧ファームウェアを解凍する。

2.2.DooMLoRD
 ①1.3.でDLしたファイルを使ってインストールする。
 ②インストールはDLしたファイルを任意のフォルダに解凍するだけでよい。

2.3.Android SDK
 ①1.4.でDLしたファイルをC:\に展開する。
 ②android-sdk-windowsフォルダのSDK Manager.exeを起動する。
 ③toolsとextraのUSB driverにチェックをいれていInstallボタンをクリックする。
 ④Accept Licenseを選択してInstallボタンをクリックする。
 ⑤インストールが終了したら、環境変数pathにC:\android-sdk-windows\tools;C:\android-sdk-windows\platform-toolsを追加する。
 ⑥コマンドプロンプトからadbが起動するか確認する。


3.ファームウェアのダウングレード
 ①Rayの電源断し、本体とPCをUSBケーブルで接続する。
 ②FlashToolsを実行する。


 ③雷マークをマウスでクリックする。

 ④Flashmodeを選択しOKをクリックする。
 

 ⑤Firmware Selection画面にてSO-03C, 4.0.1.C.1.9を選択。OKボタンが何故か表示されないが、選択部分をダブルクリックすると先に進む。


 ⑥画面を見ると、Ray側のUSBケーブルを抜き差しするように見えますが、それだと、先に進みません。この辺は、通常のアプデと同じで、PC側のUSBケーブルをはずします。

 ⑦ボリュームダウンボタンを押しながら再度、PC側のUSBケーブルを接続します。
 
 ⑧割とすぐ、FlashToolsの画面にログが流れます。数分で終了する感じ。

 ⑨下図のように「Flashing finished」という表示が出ていたら、書き込みが終了しているので、ケーブルを抜いて、電源を入れる。

 ⑩最初の起動は時間がかかるので気長に待つ。
 
 ⑪無事に起動したら4.0.1.C.19にダウングレードできたことを確認する。


4.rootの取得
4.1.Rayの設定
 ①USBデバッグにチェックを入れる。
 ②提供元不明のアプリにチェックを入れる。
 ③バックライトの消灯時間を長くする。

4.2.DooMLoRDでroot取得処理
 ①PCのネットワーク接続をはずす。
 ②Anti Virusソフトを一時的に無効化する。
 ③2.2.で展開したフォルダ内の「runme.bat」を実行する。
 ④Rayの接続設定はファイル転送モード(MSC)に設定する。
 ⑤RayとPCをUSBケーブルで接続する。
 ⑥PC Comanionはキャンセル。
 ⑦Enterを入力し、root取得処理が開始される。
 ⑧画面が以下の状態になったら、Rayが再起動する。
 

 ⑨RayのアプリケーションにSuperuserが追加されていればrootの取得に成功している。
 

5.最新ファームウェアへのアップデート
 最新ファームウェアへのアップデートはPC Companionで実施しないこと!今までの作業が水の泡になる。
 なので最新ファームウェアへのアップデートする際はray本体で実施する。
 また、ray単体でアップデートする際は、docomoのSIMが刺さっていないと更新できない。
 SIMカードが入っていない場合はSIMカードを刺し、ネットワークの設定を実施する。
 SIMカードさえささっていれば、アップデート自体はWifiから可能。

 ここまで、こんな感じ。
 


 


















参考
・XPERIA arc/acro/ray/PLAY のroot化手順 (2.3.4対応版)
・XPERIA arc/acro/ray/PLAY のroot化手順 (3/28Update対応版)