Hatena::ブログ(Diary)

Rubyとか Illustratorとか SFとか折紙とか このページをアンテナに追加 RSSフィード

2012-03-09

EC2 のコマンドラインツールと VM Import

| 18:57 | EC2 のコマンドラインツールと VM Import - Rubyとか Illustratorとか SFとか折紙とか を含むブックマーク EC2 のコマンドラインツールと VM Import - Rubyとか Illustratorとか SFとか折紙とか のブックマークコメント

今更ながらアマゾンウェブサービスVM Import についてちょっと見てみた。

紹介されたのは結構前 Amazon Web Services ブログ: 【AWS発表】 VMwareイメージをAmazon EC2上へ持ち込めるVM Importの発表

その後どうなったかと思ってマネージメントコンソールを探すもそういうメニューは見当らない。紹介記事等確認すると、コマンドラインツールからの使用だとか(別途APIや、VMware vCenter 用には GUIツールもある模様) VM Import/Export

Amazon EC2 API Tools

という訳でコマンドラインツールをダウンロードする SDKs and Programming Toolkits for AWS

コマンドラインJava(5以降)前提なんだけど、手元 Windows7機には既に入ってた、いつ入れたんだっけか、わりと初めから付けてた様な覚えも。

そしてこの辺の手順に従い環境変数を set する。

但し、IAMアカウントの X.509 Certificate はマネージメントコンソールのメニューにはないので、その辺の Linux機の opensslコマンドで自分で作って登録する。CSR作るときに国とか都市とか組織とかいろいろ訊かれるけどそのへんは適当に

設定した環境変数は JAVA_HOM, EC2_HOME, PATH=%PATH%;%EC2_HOME%\bin, EC2_PRIVATE_KEY, EC2_CERT このくらい。

取敢えず「ec2-describe-regions」(ec2dre)とかしてみる、無事リージョンのリストが返って来る、現在 7箇所。

ec2-import-instance (ec2iin)

そして ec2iin コマンド。取敢えず手元の VMware Player のイメージを dry-run してみると format が違うと言われる。

C:\<どこか>>ec2iin <イメージへのパス>.vmdk -f VMDK --dry-run -o <アクセスキー> -w <シークレットアクセスキー>
ERROR: This file appears to be in RAW or flat-VMDK format. Please check the form
at parameter and the User Guide for more information.

説明にもあるが、vSphere とかから特定の形式でエクスポートしてないといけない模様。

また、仮想機自体

とか条件がある。さらに、VPC使わないならインターネットに直接さらされるのでセキュリティには十分気を使えと(ちゃんとしたセキュリティグループ、強いパスワード、等々)

2012-02-15

VMware Player の更新時に

| 15:02 | VMware Player の更新時に - Rubyとか Illustratorとか SFとか折紙とか を含むブックマーク VMware Player の更新時に - Rubyとか Illustratorとか SFとか折紙とか のブックマークコメント

手元 Windows機(7、64bit、Pro、SP1)で使っている VMware Player をアップデートした(no title)。一度前のをアンインストールし、新しいのをインストールする(聞かれる登録情報が随分少なくなってた、名前とメールアドレスくらい)、Windowsは何度か再起動する。

前使ってたゲストOS(Debian)のイメージは新しいプレイヤーでも引き続き動くが、ネットワークの設定が一新しちゃってるのでその辺は(コンソールで)設定し直さないといけない。

2011-12-25

gem と Rails の Gemfile でのプラットフォーム

| 14:34 | gem と Rails の Gemfile でのプラットフォーム - Rubyとか Illustratorとか SFとか折紙とか を含むブックマーク gem と Rails の Gemfile でのプラットフォーム - Rubyとか Illustratorとか SFとか折紙とか のブックマークコメント

Windows (7 64bit Pro. SP1) で Rails してみようかと思ったのだけど(by NougakuDo Manual)、ジェムの sqlite3 を入れる所で。

特に何もしないでいるとエラーになる。

Installing sqlite3 (1.3.5) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

sqlite3 | RubyGems.org | your community gem host を見に行くとウィンドウズ用のバイナリ版もある様なんだけど、どうやってインストールするんだっけ。「gem install --help」をみるとプラットフォームの指定が出来るのか。

  Options:
        --platform PLATFORM          Specify the platform of gem to install

ということで、「gem install sqlite3 --platform x86-mswin32-60」としてみたら何とかなった。

さて Railsの方では、「rails new depot」とかすると、ファイルやディレクトリをいろいろ作った後で最後に「bundle install」になってやっぱり上記と同じエラーになる。ファイルは全部そろっているし、アプリケーションは(能楽堂で)動く、Sqlite3へのデータストアもするんだけど、「bundle install」には失敗する、ジェムの追加が出来ないわけだ。

QA Blog: How to configure gemfile for windows platform によると、Gemfile の中でプラットフォーム指定が出来る模様。はじめ同様に「gem 'sqlite3', '1.3.5', platform: 'x86-mswin32-6'0」としてみたが駄目だった。

The available options are: [:ruby, :ruby_18, :ruby_19, :mri, :mri_18, :mri_19, :rbx, :jruby, :mswin, :mingw, :mingw_18, :mingw_19]

「gem 'sqlite3', '1.3.5', platform: 'mswin'」としたら何とかなった。

NougakuDo 1.2.0
ruby 1.9.3p0 (2011-10-30) [x64-mswin64_100]
gem 1.8.13
Rails 3.2.0.rc1

2011-11-30

円マークでの混乱、\、¥、¥

| 11:31 | 円マークでの混乱、\、¥、¥ - Rubyとか Illustratorとか SFとか折紙とか を含むブックマーク 円マークでの混乱、\、¥、¥ - Rubyとか Illustratorとか SFとか折紙とか のブックマークコメント

多分組み合わせ的にレアなケースだと思うのだけど、円マークで混乱してしまった。

環境

やりたかった事

# coding: utf-8
require 'win32ole'
wsh = WIN32OLE.new 'WScript.Shell'
wsh.Run '"C:\Program Files\<云々>\<実行ファイル名>" <オプションとか>'

そしてエラー

<Rubyスクリプト>.rb:<行>:in `method_missing': (in OLE method `Run': ) (WIN32OLERuntimeError)
    OLE error code:80070002 in <Unknown>
      <No Description>
    HRESULT error code:0x80020009
      Exception occurred.
        from <Rubyスクリプト>:<行>:in `<main>'

所要の Rubyスクリプトは xyzzy で編集していた、その文字エンコーディングは「Unicode (UTF-8N)」(ツール - ローカル設定 - もろもろ)。動かしたかった実行ファイル名は Windowsのエクスプローラーからドラッグ&ドロップしてきたもの。そのディレクトリ区切り文字「\(バックスラッシュ、"\\".ord # => 92)」がいつの間にか「¥(&yen;、&#165;)」にすり替わっていた(それは「¥(全角円マーク、'¥'.ord # => 65509)」でもない)。

で、.Run で実行しようとしてもそんなファイル見つからずエラーになる。

xyzzy の編集画面では、「¥(&yen;、&#165;)」も半角幅の表示で、はじめ違うとは思いもしなかった、疑ってよく見るとフォントフェイスがちょっと違うのだけど。

別にコピー&ペーストしても「\(バックスラッシュ、"\\".ord # => 92)」になるし、いろいろ動いたり動かなかったりでなんか大変混乱した。Windows の Shift_JIS(Windows-31J) をコピーしてきて xyzzy で UTF-8N にコード変換するときになんかあったんだろうか。

分かってしまえばよく目を凝らせば良いことなんだけど、それまで随分時間掛かった。

2011-06-19

Exerb と RubyGems

| 15:14 | Exerb と RubyGems - Rubyとか Illustratorとか SFとか折紙とか を含むブックマーク Exerb と RubyGems - Rubyとか Illustratorとか SFとか折紙とか のブックマークコメント

RubyGems を使ってる Rubyスクリプトを Exerb で Windows実行形式にしても、LoadError になって起動しない。

単純化した Rubyスクリプト

require 'rubygems'
puts 'Hello!'

Rubyで実行すれば普通に動きます。

exyファイル作成後 exerbコマンドで実行形式にし実行した場合にエラー

rubygems.rb:349:in `clear_paths': no such file to load --
rubygems/specification
 (LoadError)
        from rubygems.rb:1235

実行環境

  • Windows 7 Professional SP1 (64bit)
  • ActiveScriptRuby (1.8.7.36)
  • Exerb 5.3.0
  • gem 1.8.5

恐らくは autoload の影響かと思われ、"C:\Program Files (x86)\ruby-1.8\lib\ruby\site_ruby\1.8\rubygems.rb" の 1235行目で Gem.clear_paths を実行し、その際 349行目で Gem::Specification.reset を実行、 1141行目で autoload 設定していた rubygems/specification をロードしようとしてエラーになるのでしょう。

一応先に require しておけば回避できますが、ちょっと ad hoc に過ぎる。

module Gem; VERSION = '1.8.5'; end
require 'rubygems/specification'
require 'rubygems'
puts 'Hello!'

あとは rubygems.rb の autoload 設定を require に書き換えるとかかな。ちなみに VERSION の値には使ってる gem のバージョンを書くべきでしょう、今、gem のバージョンと ruby のバージョンがちょうど似かよってるところで混乱しないよう注意。

参考、ML exerb-developer 保存書庫より