2011年6月26日日曜日

rails3とrake; 0.9.2 => 0.8.7

rails3の学習にて。modelの作成後にrake db:migrateを実行してエラー発生。
エラー内容は次のとおり。
uninitialized constant Rake::DSL

エラーメッセージをweb検索にかけると、掲示板サイトでakeのバージョンに関する記述を発見。
ver0.9.1に問題があるらしいということで、0.8.7にバージョンダウンしろとある。

早速実践。
◆方法 railsアプリのGemfile内に以下の記述を追加
◆追加 gem "rake", "0.8.7"

上記の記述後、再度rake db:migrateを実行。
今度はエラーメッセージが次のものに変わった。

You have requested:
rake = 0.8.7

The bundle currently has rake locked at 0.9.2.
Try running `bundle update rake`
Run `bundle install` to install missing gems.

rakeのバージョンがまだ0.9.2のようなので、以下のコマンドを投入。
sudo bundle update rake

これでrakeには0.8.7が使用されることになったことがメッセージから確認できるので、rake db:migrateを実行。
今度は無事にテーブルが作成できた。

2011年6月20日月曜日

gemとzlibとSinatra; インストールのタイミング?

Rubyは導入できたので、今度はWebフレームワークSinatraを入れる。大分以前の状態に戻りつつある。
しかし無情なエラーは続く。

gem install sinatra => no such file ... zlib

これも以前引っかかった気がする。調べると、zlib-develが必要らしいという情報があるものの、aptitudeにはそれらしいパッケージがない。気がする。一応いくつかのdevなどの文字が見えるzlib関連パッケージを入れて、gemを実行してみるがうまくいかない。

zlibの公式でソースをもらってきてコンパイル後、再度gem。これもダメ。

一通り思い当たるものを入れ終わったので、念のためRubyの方をconfigureからmakeしなおす。

そうしたら無事に通った。
んー、gemをビルドしたタイミングで必要なライブラリがないと、ずっと参照できない状態になるってことなのかな。

Sinatraのサンプルコードを書いたファイルを起動...無事Hello Worldしてくれた。

aptitudeとRuby; バージョン入力が省けない

aptitudeを使用してパッケージ指定で入れていたところ、rubyがバージョン番号まで入れないと起動できない状態に。
aliasしてみたところ、irbなどは問題がなさそう。しかしsudoしてファイルを実行をしたらエラーが。

alias ruby='ruby1.9.1'
alias irb='irb1.9.1'

irb => ok
sudo ruby test.rb => ファイル名が見つかりません

次にファイル名をリネームしてナンバリング部分を無理やりなくしてみたが、これも別の形でエラーになった。
仕方ないので一旦全部削除し、ソースをコンパイルして入れることにした。
(というか以前のエントリで同じことをやっていたような)

最後にpathを通して終了。
export PATH=$PATH:追加するディレクトリ名

Debian6.0 Squeeze再; 無線LANをもう一度...OK

環境が2点3点して、Debian Squeezeに戻ってみた。
少しずつlinuxの勘どころが分かってきた今日この頃、無線LANの設定も無事完了。
以前引っかかったところなので、念のため備忘。


◆使用しているデバイス:Intel Wireless WiFi Link 5300AGN
◆確認事項:Ubuntu10.10でアクセスポイントに設定されていた「SSISの隠蔽」を外すと繋がったということがあったので、
以下の手順で繋がらない時は必ずアクセスポイント側の設定を見直すこと。

1. まずここでドライバを取得

2. セットのreadmeファイルを参考に、ファームウェアの設定ファイル名を調査
=> /lib/udev/firmware.agent

3. 手順2のファイルに記述されているFIRMWARE用ディレクトリに手順1のドライバを保存
=> /lib/firmware

4. システム => 設定 => ネットワーク接続 からSSISなどの情報を設定する

5. 後はここのSqueeze用の記述を参照し、コマンドを投下すれば...OK

ようやくまともに使えそうで嬉しいよ

2011年5月23日月曜日

解決solved !; LoadError - no such file to load -- openssl

linuxでrailsの学習を始めてすぐに、opensslが見つからないという壁にぶち当たり、windowsに逃避していたのだけれど、つい先日無線LANが繋げるようになったので一念発起して再挑戦。
そして同じエラーに行き当たる・・・

LoadError (no such file to load -- openssl):

とりあえず解決策を探しつつ、試してみたものとしては、
・apt(aptitude)でopenssl関連のライブラリ・ヘッダファイルを手当たり次第にインストール
=> openssl, libopenssl-ruby1.9.1, libssl-devなど。
・rubyのopensssl.rbが見えてない?のかと思い、exportでPATHを設定してみる。

他にもごちゃごちゃと弄ったけど、細かいところはうろ覚え。

一旦諦めたものの、夕飯を食べたら気がちょっとだけ持ち直したので、駄目もとで挑戦。
そしてついに、この辺のフォーラムの情報を元に、解決に至ることができた。

同じような情報はいくつも見ていたのだけど、分からないときはとことん分からないもので。気付きというかインスピレーションは大事だと実感。曲がりなりにも経験を積んできたというのもあるのだろうけど。

たしか次のような流れだったかと。

cd /home/user/download/ruby1.9.2-p180/ext/openssl
make clean
ruby extconf.rb
make
make install

makeコマンドとextconf.rbがよく分かってないのもあるけど、結局これをやる前と後で何が違ったのだろう。
一連の流れの中で、make cleanは使用していない解説も結構あったので、必須だったのかは不明。

何にしろこれで再スタートがきれそう。

2011年5月22日日曜日

無線LAN;繋がっ・・・た???

Ubuntu環境で相も変わらず無線に繋げず。
新しく職場に来た方がサーバ系に詳しいので色々と聞いてみた。
見るべきポイントが随分沢山あるもので。これは期待。

帰宅後に早速調査。
・・・んー環境が違うせいもあるか、ディレクトリもファイルも見つからないものが少なくない。
調べるのが億劫だなぁと夜勤明けの頭でげんなりしつつも、これまでに試した方法についても念のため確認してみる。

アクセスポイント側の設定を見ているときにふと気づく。これは試したことないけど・・・やってみようかなと、ある設定を変更。
ネットワークマネージャを立ち上げ、再度設定。
・・・繋がった。

どこの設定かというと、「SSIDの隠蔽」(any接続)に関するもの。
隠蔽状態を解除したところ、あっさり繋がってしまった。
試しもせずに諦めるなってことなのか。

なんにせよ、これで少しは溜飲が下がろうというもの。
リブートしたらまた繋がらないとかなければいいけど。

2011年4月13日水曜日

Ruby on Railsへの再挑戦

ここのところJavaScriptでGoogle Mapをいじってみたり、Ajaxの基礎を学習していたのだけど、XMLHTTPrequestを学ぶに当たってサーバ側もやらなくてはなあと感じてRailsに戻ってみることに。
とりあえず初っ端からつまずいたので、備忘にログを残しておく。

■問題の発生箇所
//railsのインストール後、serverが起動できない。
user@user-PC:~/development/gitwork/depot$ rails server
Could not find gem 'mysql2 (>= 0, runtime)' in any of the gem sources listed in your Gemfile.

エラーメッセージを元にWebを検索するも、いまひとつどこが問題かはっきりしない。
その後半ば勘だよりで"libmysqlclient16-dev"のインストールを行ったところ、bundle installコマンドが無事に通った。

■以下、ログ
user@user-PC:~/development/gitwork/depot$ sudo apt-get install libmysqlclient16-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
libmysqlclient-dev
以下のパッケージが新たにインストールされます:
libmysqlclient-dev libmysqlclient16-dev
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
3,166kB のアーカイブを取得する必要があります。
この操作後に追加で 8,380kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ maverick-updates/main libmysqlclient-dev i386 5.1.49-1ubuntu8.1 [3,106kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu/ maverick-updates/main libmysqlclient16-dev all 5.1.49-1ubuntu8.1 [60.6kB]
3,166kB を 1秒 で取得しました (2,531kB/s)
未選択パッケージ libmysqlclient-dev を選択しています。
(データベースを読み込んでいます ... 現在 166455 個のファイルとディレクトリがインストールされています。)
(.../libmysqlclient-dev_5.1.49-1ubuntu8.1_i386.deb から) libmysqlclient-dev を展開しています...
未選択パッケージ libmysqlclient16-dev を選択しています。
(.../libmysqlclient16-dev_5.1.49-1ubuntu8.1_all.deb から) libmysqlclient16-dev を展開しています...
man-db のトリガを処理しています ...
libmysqlclient-dev (5.1.49-1ubuntu8.1) を設定しています ...
libmysqlclient16-dev (5.1.49-1ubuntu8.1) を設定しています ...
user@user-PC:~/development/gitwork/depot$
user@user-PC:~/development/gitwork/depot$
user@user-PC:~/development/gitwork/depot$ sudo bundle install
Fetching source index for http://rubygems.org/
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.6)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.6)
Using erubis (2.6.6)
Using rack (1.2.2)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.26)
Using actionpack (3.0.6)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.15)
Using actionmailer (3.0.6)
Using arel (2.0.9)
Using activerecord (3.0.6)
Using activeresource (3.0.6)
Using bundler (1.0.12)
Installing mysql2 (0.2.7) with native extensions
Using thor (0.14.6)
Using railties (3.0.6)
Using rails (3.0.6)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
user@user-PC:~/development/gitwork/depot$

そうしたらrails serverが機能。とりあえず良かった。
続いて立ち上げたローカルサーバにアクセスし、ページを表示させる。
About your application's environmentをクリックすると、今度はMysql2のエラー。アクセスが拒否されたらしい。
database.ymlファイルの設定に問題があるようなので、調整。
確かにpasswordが設定されていない、が、根本的な問題はアクセス先に指定されているデータベースがmysql上に存在していないことにあるっぽい。
mysqlクライアントからデータベースを作成後、再度アクセス。

今度は別のエラー。
ArgumentError (syntax error on line 15, col 2: ` socket: /var/run/mysqld/mysqld.sock')

調べる前に記録をとっていたが、再度アクセスしたら難なく動作した。とりあえず良とする。
その後、rakeコマンドでエラーが多発。そのうち公式のHPと参考書をちゃんぽんにしてコマンドを実行していたら、mysqlへのアクセスにパスワードが不要になってしまった。
よくよく公式を読んでみると、rake db:createコマンドはdatabase.ymlファイルの記述を利用してデータベースを作成しているように見える。(rake -Tでヘルプを出したところ、間違いないことが確認できた)
最終的にdatabase.ymlからパスワードを削除してからコマンドを実行した時のログが以下のもの。

user@user-PC:~/development/gitwork/exam$ rake db:create
(in /home/hiroshi/development/gitwork/exam)
exam_test already exists
exam_development already exists

ymlファイルのpasswordのエントリが空だったから、パスワードが不要になったということか。しかしymlファイルの記述はデータベースに紐続けられているように思えるが、そもそもパスワードってデータベース単位で設定できるのかよく分かっていなかったりする。
これも調べておかないと。

2011年3月29日火曜日

firefox4のインストール

リリースされたらしく。現状クロームのすっきりしたインタフェースが気に入ってはいるが(ブックマークの管理には不満があるけど)、とりあえず入れてみることに。

ダウンロードページを開いてから、インストールの手順を確認するのにちょっと手間取る。以前から思っていたが、mozillaのサイトはどうもナビゲーションが不親切な気がする。直感的にわかりにくいというか。

とりあえずパッケージマネージャ(apt)ではまだ4.0に対応していないようだったので、バイナリからコンパイルする。
で、起動するところまでいったものの、旧バージョンと置き換えているわけではないので設定をかえたりしないとダメっぽい。起動に関してはエイリアスの設定でも何とかなるが、他の設定は今ひとつ分からない。
(うっかり3.6を削除したりいじっていたらブックマークが保存できなかったり(places.sqlite関連のエラー)して面倒だったので他の方法を探すことに。)

よく探してみると、Ubuntuに関してはちゃんとサポートしているページがあったので、そちらを参考に導入を試みた。

詳細はページの案内(Instruction for the impatient -Firefox-stable channel-)を見てもらうことにして、ターミナルを使用した流れだけ以下に載せておく。
※以下のコマンドはUbuntu Lucid(Maverik)10.10以降対応
※ppa = Personal Package Archiveの略。

sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
sudo apt-get install firefox

以上。

さて、ブラウザを再起動・・・3.6の古いadd-onの確認ダイアローグが表示後、立ち上がりを確認。
以前より多少すっきりしただろうか?というか英語版。後で日本語パッチを調べよう。

.
...
.....またもやブックマークが読み込めない。

どころか明らかに諸々の設定がおかしい。
リンクの色やオンマウス時の挙動、ぱっと見でいくつかおかしい。

プロファイルマネージャで古いのを削除し、新しく作り直してみたが、ダメだった。
とりあえずgoogle様に伺いを立てて調べているうち、アップデートマネージャの話がでてきたのが気にかかり、試してみることに。ひょっとして3.6のadd-onが使えないことに原因があるのでは。実際、なにやらfirefox関連のアップデートが出てきた。

.
...
.....ビンゴ。

先ほどまでおかしかった部分はすべて解消されており、ブックマークも件のplaces.sqliteを削除して再起動をかけたら、普通にインポートができるようになった。

次は日本語化。
作業に当たってはこちらの方のサイトを参考にした。

これで通常利用には問題がないかな。
後はfirebugとか開発系のadd-onを調べておくか。

2011年3月25日金曜日

Rubyにライブラリを追加する;

Tkを使おうと思ったらrequireできなかったので見たところ、どうも入ってないらしい。
標準ライブラリ=表示添付というわけではないのか。
gemを使用してインストール使用と思ったらエラーがでた。

LoadError => no such file to load -- zlib
NameError => uninitialized constant Gem::Commands::InstallCommand

後者は前者のエラーによって引き起こされているように思える。zlibが入ってないということなのか。
以下、適当にパッケージをいれてみたり。

■インストール順序
aptitude
zlib1g
libgc6-zlib-dev
zlib(公式よりアーカイブをダウンロード)

最後のzlibに関しては、これはライブラリだからなのかwhereisで確認すると、コマンド名というよりファイル名の表示(*.h)がされた。コマンドではないということ?

調べてみると似たような状況のエラーがいくつか見つかった。
とりわけこの方のサイトにある方法はそのまま使えた。

■方法
cd ~/ダウンロード/ruby-1.9.2-p180/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib

> checking for deflateReset() in -lz... yes
> checking for zlib.h... yes
> checking for kind of operating system... Unix
> checking for crc32_combine() in zlib.h... yes
> checking for adler32_combine() in zlib.h... yes
> creating Makefile

make
make install

■別の問題
さて、上記方法でどうやらうまく行ったことは分かったが、肝心のgem installでtkライブラリがどこにもないと怒られた。

Ubuntuと動画再生; mplayerインストールだけ。

DVDを借りたついでにLinuxで再生できるか気になったので試してみる。
ディスクを入れてみると、読み込めてはいるみたいだが肝心の再生の段になってエラーがでた。

使用ソフトは「動画プレイヤー」というもの。

さて、見れないならそれはそれでよしとしたい。windowsで再生できればいいので。
とはいえちょっとだけ調べてみる。

出てきたのは"libdvdread4"というキーワード。
ファイル検索をかけてみると、たしかにある。しかもaptitudeによればインストール済みフラグが立っている。
となると別にソフトを用意すれば見れるのかもしれない。

候補には聞いたことのあるものないもの含め4つほどあったが、利用経験のない「mplayer」なるものにしてみる。
configureしてmakeして...(makeが長い)make install。
とりあえずインストールは終わったものの、適当に起動を試みたらコマンドラインオプションがずらり。

このプレーヤー、ひょっとしてCUIで使うのか?

気分ではないので、とりあえずまた次の機会に...

Ubuntuのセットアップ

■インストールしたもの
Ruby1.9.2p180
 libmysql-ruby1.9.1
MySQL-server 5.1.49
 MySQL-Workbench CE 5.2.33
Vim7.2.330 => 7.3にup
※vim-ruby => 機能しない。詳しくは後述。
Emacs23.1
 rubyコンフィグファイル

■vim7.3のインストール
Vim7.2用のvim-rubyがなさそう?だったので、プリセットのvim7.2をアンインストールして、7.3を入れ直すことに。
アーカイブをダウンロードし、展開後configureすると、以下のエラーが。

 "You need to install a terminal library; for example ncurses."

調べてみると、指示どおりライブラリを入れる必要があるとのこと。
掲示板によるといくつかある候補のどれでも問題がなさそうだったので、apt-getできる次のパッケージにした。

 libncurses5-dev

再度configureを実施...今度は通った。
あとはmakeしてmake installして、vim-rubyの設定ファイルを所定のディレクトリにセットして終了。

■vim-rubyのセットアップ
関連ファイルの格納先として、以下のディレクトリを作成。
 /usr/local/share/vim/vifiles
設定ファイルは以下を使用。
 /etc/vim/vimrc

この設定で前回は問題なかった用に思うが、インデントも色分けも機能していない。何が問題なのだろう。

■emacsのセットアップ
vim-rubyの代わりに使うことを検討。
apt-getでemacs23.1をゲット。

設定用のlispファイルはrubyにバンドルされていたらしく、以下のファイルを所定のディレクトリにコピーする。
/ruby-1.9.2-p180/misc/以下
inf-ruby.el
rdoc-mode.el
ruby-mode.el
ruby-electric.el
ruby-style.el
rubydb2x.el
rubydb3x.el

ruby用lispファイルの保存先
/usr/share/emacs/site-lisp/
/usr/share/emacs/23.1/site-lisp/ =>こちらにはコピーした覚えがないがあった。

設定ファイル(.emacs)の保存先
※元々このファイルが見当たらなかったので困惑したが、自前で作ったもので問題なかった。
/home/user-name/
このファイルに書くべき中身は、Web上で探すこと。中身はよく分からない。

DebianからUbuntuへ; Grub.cfgの編集~パーティション削除~インストール

思うところあってDebianからUbuntuに乗り換えてみようかと考え出した。そこでまずはWindowsを先に起動することにし、さらに進んでdebian自体を削除する方向に持っていきたい。

以下に備忘。
ブートローダー:Grub2(設定ファイル名からの類推)
設定ファイル:/boot/grub/grub.cfg(従来のgrub「legacy_grub」だと、大抵munu.lstというファイルになるらしい)

grub.cfg内のエントリから、まずは以下のデフォルト0の状態から1のrecovery modeに変更してみる。

(略)
set default="0"
(略)
menuentry "debian..."
menuentry "debian...(recovery mode)
menuentry "windows7..."

設定を編集後にリブート。grubが立ち上げり、カーソルが意図どおりrecovery modeに移ったのを確認。
さて再度編集し、windows最優先でブートするようにset default 1 => 2に設定しなおした。
次はdebianの削除について調べる。今のままだとdebian削除 => grub見つからず何もカーネルイメージをロードできない、という状況に陥いると思われる。

さて、windows7の起動ディスクから回復ツールを使用してMBRの設定を変更する方法があるらしいと分かった。
grubに移行せず、windowsを選択的にブートするようになればいいわけだ。

方法は次のもの
1:回復ディスク=>プロンプト=>bootrec.exe /fixmbr
2:回復ディスク=>プロンプト=>bootrec.exe /fixboot (こっちは使用せず)

失敗したら痛いが、これも勉強と割り切る。
上記1の方法を実行後、リブートしたらブートセクタが見つからないのか、起動ディスクを入れろと怒られる。
不安を覚えつつもディスクをセットしなおしリブート。
またもやインストールの手順まで進んだが、今度はシステム問題を診断するツールを使用したところ、「有効な?(プライマリ?)パーティションが見つからない」のような診断がなされたが、そのまま回復してくれそうだったので様子見。
まもなく終了し、リブートをかけると今度はwindowsが正常起動された。

これで一先ず安心か。
後はUbuntu10.10のイメージディスクを作成し、旧debian用パーティションをUbuntu用に振り直し、インストールを実行。
・・・できた。
さあUbuntuはどうかな。

2011年3月19日土曜日

東北地方太平洋沖地震2

地震から1週間。妻の母方のいとこ家族と祖母、父方のおじさんなど東北在住の親類の無事が確認できた。
海岸沿いの住まいは津波の被害を受けたというが、近所付き合いのある方の家に避難させてもらっているとのことだ。

親類の息災に感謝するとともに、被災された地域で亡くなられた方に哀悼を、今も困難な状況下にある方々には祈りを届けたい。

**********
今日は地震からこれまでのこと、これからのことについて自分なりにまとめておく。
※時間がないので後ほど編集予定。

■状況
・現在住まいしている埼玉を含む関東圏や東海・上信越および東北地方では東京電力による計画停電が継続されている。
関東では本日19日は停電を見送るらしい。
停電が実施された地域では道路の信号が消えており、このことが原因と思われる交通事故が発生している。
=>Google Crisis Response(計画停電の対象地域が一目でわかる。)

・生活必需品の不足。スーパーやコンビニ、個人経営の商店(地域差はあるかもしれないが)では主として以下の品目が入手困難。
食料品:米・カップ麺・水・牛乳(最寄りのスーパーでは、計画停電の発表当初はパンまでもがほぼ完売)
石油関連製品:ティッシュペーパー・トイレットペーパー・紙おむつ
消耗品・防災用品:懐中電灯・乾電池

■二次的被害や周縁の事象について。
・食品が手に入らないことにより、とりわけ近所でしか買い物のできない高齢者を中心に生活が切迫してきている。
都市圏で発生しているフードデザート(このあたりのサイトを参照)という現象があるが、そういった社会的弱者を痛めつける状況に追い討ちをかけているのが現状と思われる。
(2011/04/01追記:今はどのスーパーやコンビニでも物が不足しているという事態は概ね解消されている。生活圏の範囲では、計画停電に関連してコンビニの仕入れを調整しているようで、棚が空になっている様子が見られる。)
・新燃岳の噴火や鳥インフルエンザの被害をうけた人達の情報が隅に追いやられてしまうのではないか。地震による被災者を救い被害の拡大を食い止めることの方が緊急度も重要度も高いに違いないが、そのことで程度の差はあるとしても同じ苦境にある人達が閑却されてしまうことがあってはならないと思う。

■思うところについて
テレビに出ている解説員や寄せられた一般からの意見の一部にも見られるとおり、大きな被害を受けることのなかった地域では普通の生活を続けることが肝要と感じる。
要は必要なものを必要なだけ、生活に支障がないように買う、ということ。もちろん贅沢や趣味的な活動による浪費は控えるべきだろう。

驚いたことだが、テレビの番組では特別編成枠がかなり減ってきているようだ。ある解説員が、被災地以外の住人が被災地の情報を得るのが難しくなってきているような話をしており、事実番組欄は平常の番組構成にもどりつつあるようだ。
とはいえ情報はあるところにはある。
被災地では交通基盤や通信手段といったインフラの破壊によって、情報そのものが不足したり途絶するという状態だと思うが、それ以外の地域では大量の情報源があってもそれをどのように判断し行動に結びつけるかが問題だ。

広範囲の災害であるためピンポイントで知りたい地域の情報を得ることは難しいし、被災者側から伝えたいことがあってもマスコミの情報は集約されたものになりがちだ。そう言うときは自治体の専用窓口や災害時の支援を行っているNGOのような組織を頼ることが、何かしたいという気持ちを確実な一歩とすることに繋がるのではないかと思う。
情報の集まるところを見極め、マンパワーを組織化できる主体に自身の力を預けることで、少なくとも状況をかえって混乱させるような不如意な事態を避けられるだろう。

2011年3月12日土曜日

東北地方太平洋沖地震

先日から地震のニュースから目が離せない状況が続いている。
自身の居住エリアでも震度5程度の揺れがあり、フライパンが落ちたり積んであったものが崩れたりといった影響を受けた。

しかしそれだけの話だ。
問題は東北地方。妻の両親の親戚筋が宮城・岩手におり、なかんづく祖母といとこの家族が三陸海岸の沿岸地域で暮らしている。
地震直後の15時頃には該当地域に津波が押し寄せ、家屋が押し流されるという断片的な映像が流れていた。
朝を迎え、テレビには被害を伝える一文が表示された。

○○○がほぼ壊滅状態。

近隣の市でさえ一帯が崩壊した様子が映され、死者・不明者が200名と少しずつ被害が明らかにされるなか、ただ一言壊滅、である。

祈ることのほか、何ができるというのだろうか。

2011年3月10日木曜日

無線がつながった; と思いきや

※2011/03/12追記:その後スリープして復帰したらもう繋がらなかった。一体どうなっているのか。
うまく行くときはすんなり行くもので。

無線LANが唐突に繋がった。
ただしWEP。

接続にはデスクトップからパネル(という表現でいい?)上にあるネットワーク接続マネージャを使用しただけだが、これまで何故繋がらなかったのか不思議なほどあっさり成功した。
何とも納得しかねる。

詳しくはローカルに記録することにした。

WPAの方は相変わらず上手く行かなかったが、そのうちリトライすることにしよう。

2011年3月8日火曜日

開発関連プログラムのインストール状況を概観

※2011/03/12にUbuntuへの意向により、パッケージは総入れ替えになっている。
■インストール状況
Ruby1.9.1
MySQL-server 5.1.55-1
libmysql-ruby1.9.1(rubyからmysqlを使うライブラリ)
git1.7.4.1
vim7.3.35(調べた限りでは、初期状態はただのviだったようなのでインストールした)
vim-ruby

■実行コマンドのエイリアス設定
rubyは現状irbなどの関連プログラムも含め、バージョンを指定しないと起動しない。
/usr/bin の構成を見て判明。

gitのワークディレクトリにシンボリックリンクを張って、省略記法にすることを試みる。
 ln -s irb1.9.1 irb   =>これだとディレクトリを跨るのでダメらしい。
『改訂新Linux/UNIX入門』を参考に、以下の通り変更。
 ln -s /usr/bin/irb1.9.1 =>しかしこれでもダメ。はて。

代替案でエイリアス定義をすることに。
 alias ruby=ruby1.9.1
 alias irb=irb1.9.1
設定されている一覧を見る。
 alias

Gitのインストール; その他vim, vim-ruby

随分前に『入門git』(でびあんぐる著,オーム社)を購入したが、導入後の触りのあたりまで読み進めて放擲していた。
というのも最近のエントリに「開発」などという単語を掲げているものの、実際には入門したてのアマチュアに過ぎないのだから、順序を踏むならもっと別のところから始めるべきだろうと思って本棚の肥やしにしていたのだった。

とはいえ最近色々なツールをとっかえひっかえ使っていたこともあってか作成したテストファイルが分散し放題であったので、改めてリポジトリの利用やバージョン管理の方法を学びたいと思う。

というわけで、gitである。

■gitのインストール
※以下は『入門git』を参考に作業を進める。
 apt-get install git-core => ver1.7.4.1-1
既に最新安定版がaptで利用できるようだ。
 git config --global user.name "[名前]"
 git config --global user.email "[email]"
設定を確認。
 git config (--global) --list =>ok
出力を色分けする設定
 git config --global color.ui "auto"

■vimのインストール
初期状態でただのviだったのようなので、vimの最新版アーカイブを取得しインストールした。

■vim-rubyのインストール
少しづつvimが分かってきたので、折角だからvimでrubyを編集したいということでvim-rubyをインストールすることに。
他のサイトで言及されていたが、どうもRubyForgeにあるバージョンが古いようなので、githubからアーカイブを取得。
(※実のところrubygemでインストールしようとしたときにrepositoryが見つからず、実行できなかったのだが)

 sudo ruby1.9.1 vim-ruby-install.rb

vimのインストールフォルダがどこか聞かれたが、実行ファイルのあるフォルダしか分からないので中止。
リファレンスを引くと、whereisコマンドで見つけられそうなので試してみる。

 whereis -b vim => 5つほどヒット

設定ファイルのあるフォルダが発見できたので、再度実行。「インストールディレクトリのフルパスを入力しろ」という指示に従い打ち込む。該当のディレクトリに設定ファイル入りのディレクトリが作成されたのを確認。
他のサイトを参考に、設定ファイルを編集する。

なお同ファイル内には、設定を書き込む際に利用できる他のファイルとの違いも示されている。
どうも他のファイルではvimのアップデート?などで上書きされるらしいので、以下のファイルで進めることにした。

 gedit /etc/vim/vimrc 

さてここでrbファイルを作成し実行。色は変わるし、インデントも効いてる。
成功だ。

しかしオムニファンク(intellisenseのような自動補完機能)(キーアサイン:C-x, C-o)は無効と出たので調べてみる。
すると、rubyからコンパイルしたvimでないと使えないという記載をgitのサポートページで見つけた。
ともあれ、とりあえずはここまでで我慢する。IDEなしでこれだけ出来るのだから、十分凄い。

参考:github > vim-ruby VimRubySupport > Omni Completion Functions

■sudoを使うために
※vim-rubyをインストールする前までずっとsuを使用していたが、sudoの方が好ましいようなので設定することにした。
(sudoを使うに当たって、sudoerとして認定させないといけないらしい)
設定ファイルを編集するための専用コマンドがあったので、それを使う。
設定ファイル:/etc/sudoers.tmp

 visudo => nanoエディタなるものが起動。

編集内容は割愛。

Mysql on Linux; 再度インストール

引き続きdebianの設定作業。今回はMysql。

■最新版のインストール
使用アーカイブ
 5.5.9-linux2.6-x86_64(community server)

作業ディレクトリ
 /usr/local

Mysql用ユーザ・グループの作成と設定
 grpadd *****
 useradd -r -g ***** *****

展開したファイルの所有者を変更
 cd [作業ディレクトリ]
 chown -R ***** [展開されたディレクトリ] =>以下、「idir」とする
 chgrp -R ***** [idir]
初期データベースの作成(らしい)
 scripts/mysql_install_db --user=mysql =>ここでエラー発生。

とりあえずオプションに指定しているユーザに問題があるのか?と考え、Mysql用ユーザの状態を確認。
 su [mysqlユーザ名] =>ログイン失敗 
パスワードが設定されていなかったようなので改めて指定。
 passwd [mysqlユーザ名]
 su [mysqlユーザ名] =>ok
 cd /usr/local/idir
 scripts/mysql_install_db --user=mysql =>ok(メッセージはテキストでhomeに保存しておいた)

■インストール成功・・・していない?
 さてmysqlが起動しないように思われる。というのもインストールディレクトリ以下の/binにあるコマンドが実行できない。しばしwebで情報収集。

■scripts...(略)について
 どうもver5.5.8からは「configure」に代わって「cmake」なるものがインストールに必要らしいとの情報がwebに散見される。公式のインストール手順ではscripts/...までしか記載がないのだけど。とりあえず試してみることに。

 aptitude install cmake => ok
idirに移動し、cmake実行
 cmake => エラー。(CMakefileがないと怒られた。)

■またもや分からず
ちょっと気になることがあったので、別のアーカイブをダウンロードして試すことに。
これまでのファイルは一度削除。
 rm -r /usr/local/idir

で、改めてtarを落として展開してところ・・・中身はrpmだったりする。
rpmもyumも使ってないのでちょっと保留。

■apt-getで旧バージョンに落ち着く
またもや逃げの一手でパッケージ管理ツールを使うことに。
2011/02/20のエントリを参考に、インストール作業を開始。
 apt-get install mysql-server =>ok
 dpkg --list mysql-server =>ver5.1.55-1

■起動確認
 mysql -u root -p => ok

 

Linuxと無線LAN; 中途まとめ

debianの無線接続がうまく行かないので、一旦締めにしようかと。
忘れるといけないので、使用したコマンドや作成したファイルをまとめておく。

■コマンド
ifconfig
 インタフェースの状態(IP,MAC,up/down, packetなど)を表示する。
iwconfig [インタフェース][オプション]
 インタフェースの設定(SSID,AP,KEYなど)を表示する。
 オプションでssidやWEPキーの設定を行う。WPAの場合はwpa_supplicantを使用する。
iwlist [インタフェース] scan
 無線のアクセスポイントを表示する。
wpa_supplicant [オプション]
 WPA(WPA2)の設定を行う。
 -D ドライバの指定
 -i インタフェースの指定
 -c コンフィグファイルの指定
 -B バックグラウンドでデーモンとして動く

■関連ファイル
/lib/firmware/ファームウェア-ucode
 ファームウェアの格納場所
/lib/udev/firmware.agent
 ファームウェアの検索パス
/etc/wpa_supplicant/wpa_supplicant.conf
 ssid, pskなどwpa用の設定ファイル
 設定については以下のwebページを参考にした
 Example wpa_supplicant configuration file
 wpa_supplicant
 Nest of Hawk

■Webリソース
wpa_supplicantの最新版
Linux Wireless 拡張操作用ツール(aptitude経由でインストール)
firmware-iwlwifi パッケージ(aptitude経由でインストール)

2011年3月6日日曜日

rubyのインストール; 2011/02/19-20のやり直し

■rubyの再インストール(フローまとめ)

ruby1.9.2アーカイブファイルの取得。
tar xjvf [rubyアーカイブファイル名](今回はbz2を使用)
cd [アーカイブファイルのダウンロードフォルダ]
./configure => makeインストールしていなかったのでcould not found。
make => インストール後はconfigureを再実行しなくても実行可能だった。
make install => 何かエラーが出た。
aptitude search ruby => 1.9.1のフラグが[i](インストール)
dpkg --list ruby => フラグ[un]。インストールされていない?aptの認識とは異なる?

■今回インストールしたファイル。
ruby 1.9.1
make 3.81-8
gcc 4.4.5-2

■課題
irb => 未インストール。apt(itude)から入れようとすると1.8になりそう。

windows/linuxの再インストール; windows7 + debian6.0[squeeze]

承前:windows7のインストールは無線LAの設定でひっかかったものの、無事完了。しかしdebianの無線LANが・・・

さて有線だとルータの設定ができていればケーブル繋ぐだけでよいが、無線はセキュリティ設定もあり一筋縄ではいかない。
windowsではなんとかなったものの、debianが繋がらない。

なお使用PCのデバイスは次のもの。
intel wireless wifi link AGN5300

設定は以下の本とwebを参考にした。
1:debian wiki -iwlagn-
2:Intel Wireless Wifi Link driver for Linux
3:『改訂版Linuxコマンドポケットリファレンス』(技術評論社)

まずはシステムのネットワーク接続設定から無線LANのエントリを新規で作成。
WEPとWPA-PSKをそれぞれ作成。
またiwconfigコマンドでインターフェースにESSIDとキーを設定する。(WPAは使用するコマンドが違うらしいが、この時は気づかず。)
この時点ではドライバが読み込まれていないからか、無線ネットワークの一覧は見えていない。

続いてドライバのインストール。
参考1のsqueezeの項を参照し、そのままコマンドを打ち込んでいく。
aptitudeで関連ファイルをインストールしたあたりで、先程まで見えていなかったネットワークの一覧が表示された。
まだ自身のSSIDのネットワークは見えていない。
参考1-項目4のiwconfigの設定のところで、参考3のコマンドiwconfig(WEP用)とwpa_supplicant(WPA用)を参照し設定を行う。
参考1の手順を最後まで終えたところで接続確認をするものの、何度も認証を求められてどうしても繋がらない。

認証が通らないということはセキュリティの設定を間違えているということかと思うが。
そろそろ時間がないので次回検討にする。

※ネットワーク接続とターミナルのiwconfigから見た設定の関係についての疑問
システム=>設定=>ネットワーク接続:この一連の流れで行った無線LANの設定は、iwconfig wlan0コマンドからは見えていない。設定ファイルが違うということなのか。

出直し; ディスク管理は慎重に。

先日PCを再セットアップすることに。それから無線LANの設定がうまくいかずにげんなり。

ことの発端は3日前。
思うところあってwindows/linuxのデュアルブートを試みることにしたのだが、その過程でブートセクタを削除してしまった模様。debianのインストールディスクからドライブの構成を見ると、基本パーティションが4つあり追加スペースを確保できない状態だったので調べてみることに。

windows7の管理画面からディスクの管理を確認したところ、パーティションが3つほど見えていた。
=>プライマリ2.7G(回復パーティション)
 基本パーティション(詳細は忘れた) => CドライブとDドライブ(1つの物理ディスクを分割)

再度インストールディスクからディスクの状態を確認したところ、windows上から見えていない1MB程度のスペースがあった。これはブートセクタだろう。

回復パーティションはおそらくノートPCにプリセット?されているドライバ類などの復旧用データだろうと思い、ここは削除可能と踏んで削除することに。
削除に先立ってドライブの空きスペースを調整するべくwindows7のディスク管理からディスク縮小を行ったところ、いくつかのスペースのステータスが基本パーティションから変更されてしまった。(内容は既にうろ覚えだが、縮小前にアラートが表示されていたのでそのメッセージの記録を取っておくべきだった。ブートに関係する注意事項だったように思う・・・)

削除後にdebian[squeeze]のインストールを行ったのち、grubからwindowsを起動しようとしたところ、復旧シークエンスに移行。嫌な予感がしたが時既に遅く。復旧ツールの起動が完了し、再起動後再度windowsを起動・・・できない。

ということであっさり諦めて全部インストールし直すことにした。

2011年3月2日水曜日

Ruby; windowsに逃避

先日までLinux上で開発環境を整えていたところから逃げをうって、しばらくWindowsで学習することに。
LinuxはVMplayerで動かしているので、画面全体を使いきれておらず挙動も重いとあって億劫になってきたのです。
そのうち専用マシンを組んであげたいなぁ。

さて話はwindowsでの環境に移って、こちらは以前からMySQLとRuby1.9.2がセットアップされている。またRailsもインストールされている。

今回はRubyのシンボルの使い方についてメモ。
調べた中では『Ruby逆引きハンドブック』の説明が一番詳しいと思うが、どうもピンとこない。
とりあえずハッシュのキーとして使用する方法に慣れるのが先か。

以下のソースはOpen-uriライブラリからの抜粋。

module OpenURI
Options = {
:proxy => true,
:proxy_http_basic_authentication => true,
:progress_proc => true,
:content_length_proc => true,
:http_basic_authentication => true,
:read_timeout => true,
:ssl_ca_cert => nil,
:ssl_verify_mode => nil,
:ftp_active_mode => false,
:redirect => true,
}

def OpenURI.check_options(options) # :nodoc:
options.each {|k, v|
next unless Symbol === k
unless Options.include? k
raise ArgumentError, "unrecognized option: #{k}"
end
}
end
.
.
(略)
end

2011年2月23日水曜日

Linux環境を整える4;

MySQL Workbenchをインストールする。Linux用のソースコードからコンパイルすることに。
 /tar xzvf mysql-workbench...(略) => ok
 /make => NG(makefileが見つからない)
前回までの例から、configureが必要なようなので試す。
 /./configure => no package libzip found
何かエラーが出たので調べてみると、どうもlibzipというzipファイルを操作するためのcライブラリがあるらしい。
適当にパッケージを探してみる。
 /apt-cache search libzip (aptitude search libzip) => 結果は実表示を参照のこと。
とりあえずlibzip1というファイルをインストールしてみる。
 /apt-get install libzip1
再度configureを試す。
 /./configure => no package libzip found
aptitudeで状態確認してもlibzip1のインストールは確認できているので、まだ調査が必要そう。
いったん中断。

2011年2月20日日曜日

Linux環境を整える3; Ruby1.9にバージョンアップする

さらに続き。

■Ruby ver1.9.2のアーカイブを取得し展開。
 tar xzvf ruby...(略) => cd 展開されたディレクトリ
 ./configure --prefix=/usr/local/ruby => $PATHにCコンパイラがないと怒られた。
/gccというライブラリが利用できそうなことが分かったので、取り合えずaptしてみる。
 apt-get install gcc => dpkg --list gcc => 見つかりません。再度試してみる。
 apt-get install gcc => libc6などいくつかのファイルが置換され、何らかのサービスのrestartを促す画面が表示された。ちょっと不安がよぎるが・・・。
 dpkg --list gcc => 4.4.5-1
/無事gccはインストールされたので、再びconfigureを実行
 ./configure --prefix=/usr/local/ruby => メッセージからMakefileの作成がなされたと思われる。
/makeを実行
 make => ok(コンパイル?されたファイルの統計が表示)
 make install => ok
/rubyのインストール確認
 ruby -v => ファイルが見つかりません。どうやらpathを通してないらしい
 /usr/local/ruby/bin/ruby -v => ruby-1.9.2-p180
/irb1.9
 irb => p VERSION => 1.8.7(irbは別にバージョンアップが必要か)
 aptitude install irb1.9 => irb => p VERSION => 1.8.7
aptitudeのsearchによると、irb1.9はインストールされている。
irbコマンドに関連付けられているバージョンを1.9に変更する必要があると思われる。

■次回作業用のメモ
・システム
 mysql用ユーザの認証ができない件を解消
・Ruby
 irbコマンドの1.9関連付け
・MySQL
 データベース使用ユーザの作成
 workbenchのインストール

Linux環境を整える2; MySQL => PostgreSQL => ?

先日の続き。

■MySQLのインストール...の筈が。
/MySQL(ver5.1.55)のtarアーカイブをダウンロードし、展開
 tar xzvf mysql-(version)-(os)...略
/インストール準備(makeが居るらしいがインストールされていなかったので、先にapt-getでmakeをインストール)
 apt-get install make => su root => which make => /usr/bin/make
/configureスクリプトで初期設定
 ./configure --prefix=/usr/local/mysql => スクリプトが見つかりません。

※何やらconfigureが見つからないということで、先にmakeを試してみたり、別のバージョンを落としてみたものの、それぞれmakefileがないので不可、同じくconfigureが見つからないので不可、と上手くいかず。

/rpmで試してみる(.rpmパッケージファイルを取得)
 rpm -i mysql-5.1.55..(略) => 依存ファイルが大量にあるらしく、そのままではインストールできず。

■postgresに浮気してみる。
/mysqlと同じようにtarを取得して展開=>今度はconfigureは機能はしたもののエラーが出て不完全な状態なのか、その後のmakeまでは進めず。次にdpkgを試す。
/OpenSCG(http://www.openscg.org/se/)からdebパッケージファイルを取得。
 dpkg -i postgres-9.0 => ok
 dpkg -s => Statusは"install ok"
 dpkg -L => /opt以下にファイルがあることを確認。
/日本語マニュアルを参照し、createdbするもコマンド見つからずのエラー。新規ユーザーを作成し、権限を移譲してみるが、それでは無理の様子。
 cd /opt/postgres/...(略)/bin (createdbコマンドがあるディレクトリ)
 su root => useradd pgsql => groupadd pgsql => cd /opt => chown -R pgsql ./postgres => chgrp -R pgsql ./postgres

おおよその経過は以上。さて、どうするか。

■apt-getを使用し、MySQLのインストールに再度挑戦
 apt-get install mysql => パッケージが見つからない。
 apt-get install mysql-server => ok(パッケージ名を知る方法はあるのだろうか)
/インストールされているかを確認する方法を模索。
 dpkg --list => パッケージが見つかりません。
 aptitude search mysql(Linuxコマンドポケットリファレンスの使用例を元にした) => 関連パッケージが大量に表示。またmysql-serverほか、clientファイルなどの状態を示すフラグが未インストール(=p)となっていることを確認。
 apt-get install -s mysql-server => インストールされるパッケージ一覧を表示。
/ダメもとでapt-getを再度実行
 apt-get install mysql-server => 今度はrootパスワードの設定画面などが表示された。上手く行った?
/パッケージ確認
 dpkg --list mysql-server => ver 5.1.49
 aptitude search mysql => mysql-server, client(ver5.1)など最低限のものはインストールされた模様。
 which mysql => /usr/bin/mysql

■何とかインストールできたので、とりあえず起動してみる。
 mysql => denied(rootユーザーでもダメ?)
/MySQL全機能バイブルによれば起動方法は2つあるとのことで、ここではmysqld_safeを試してみる。
 mysqld_safe => process already exists(どうもインストール後そのまま起動している様子)
 mysql -u (root) -p => "enter password"(-pオプションが必要だったらしい)

■管理者用に作ったシステムアカウントにログインできない
suでログインを試みたが、上手くいかない。usermodでパスの変更なども試したが、同じ結果。

■不要になったpostgreSQLの削除
 dpkg -P postgres-9.0 => ok(-rは設定ファイルを残す(=remove)、-Pは全て削除(=purge))
 ls /opt => インストール時に作成されていたディレクトリごと削除完了。

■関連フォルダは以下の通り
 /usr/bin/mysql(whichのパス)
 /etc/bin/mysql(設定関連の保存フォルダ)

2011年2月19日土曜日

Linux環境を整える;Ruby, MySQL

VMPlayerでDebian GNU Linuxを導入してからLPICの勉強を細々と続けていたが、脱線しっ放しで未だ取得の見込みが立たず。
最近はRubyとHTML・CSS・JavaScriptの間を行ったり来たりしてきている。Windows環境ではインストーラ一つで何かと済ませられることが多いものの、Linuxを使っていこうと思ったらコマンドラインにも習熟しないとならない。

そんな訳で仮想マシン上のDebianにRubyとMySQLをインストールし開発環境の下地を作りたい。
以下、作業メモ。

・Rubyのインストール確認
 dpkg --list Ruby => version 4.2(debパッケージファイルのバージョンNo?)。
・irbのインストール確認
 dpkg --list irb => パッケージ見つからず。
・dpkgコマンドだとコアが1.8.7と思われる(公式によると)ので、aptで最新版が利用できないか試す。
 公式を参考に、'/etc/apt/sources.list'ファイルに以下の2行を追加。
 deb ftp://ftp.debian.org/debian unstable main
 deb-src ftp://ftp.debian.org/debian unstable main
 (aptが拾ってくるパッケージ情報のソースを追加するものと思われる。通称アプトライン(らしい))
・エディタgeditで当該ファイルの更新を行おうとしたところ、権限がないため拒否される。ファイルの権限変更を試みる。
 cd /etc/apt => ls -l(permission確認) => chmod 666 sources.list => うまくいかず。
 (terminalから) gedit sources.list => 編集可能となったため、先述の2行を追加。
・aptの実行とdpkgによるバージョン確認
 apt-get install ruby => apt-get update
 dpkg --list ruby => verson 4.5
 dpkg --list irb => version 4.2(irb起動しVERSIONを表示=>1.8.7)
・ひとまずMySQLのインストールに移行
 (以下、「MySQL全機能バイブル」を参考に実施)
 groupadd mysql
 useradd -m mysql -g mysql -d /home/mysql
 passwd mysql => "enter new password" mysql => "retype" mysql => "success"

ダウンロードに時間がかかったので続きは翌日。

2011年1月2日日曜日

JavaScriptによるHTMLの書き換え; buttonタグとinput type="button"タグ

JavaScriptからHTMLの動的な書き換えを行おうとしたが上手くいかず試行錯誤していたところ、不具合箇所を発見。
コードの該当部分は次のようなもの。

//JavaScriptのテストコード
function test(){document.getElementById("test").innerHTML = "<span>書き換えのテスト</span>";}

//HTML部分
<div id="test">
ここを書き換え</div>
<button onclick="test()" />

このHTMLをロードし、ボタンをクリックしてみると、対象のコンテンツが上書きされたかと思う間に初期状態に戻ってしまった。試しているうち、HTMLを次のように書き換えると問題なく動作することに気付いた。

//HTML部分(修正後)
<div id="test">
ここを書き換え</div>
<input type="button" onclick="test()" />

しかし修正前のbuttonタグを使用したパターンでも、コンポーネントがほぼ最小の状態であれば、きちんと動作していることは確認できた。
問題の起きたコードはもう少しhtmlやcssが入り組んだ状態ではあったが、それが関係しているのだろうか?