環境こんちくしょう! 環境構築  改めて環境を整える 1

環境を整えたい

最近、railsをつかってアプリを構築したりしてますが、
チュートリアルなんかやってるとバージョンが違って
オレ、ハマッテルゼ....orz
な感じになる事がままありまする。

どうもよくは全く解りませんが、railsはバージョンによって劇的に
使い方が違ったりする事がある様な気がしてたまらない。

で、環境構築を整理してみたい < 自分なりに。
(あ、あくまで既にインストールされた状態からね。)
(あ、とりあえず“Mac OSX 10.5 Leopard“の環境です。)

まずはrubyそのものについて
今時点の安定板は
ruby 1.8.7-p72
のようです。
で、ターミナルから確認してみます

ruby -v

なんてやると

ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]

になります。
ではバージョンアップしてみます
で”ruby update“とかは無いみたいなので...
ruby本家のサイト内の

Ruby Install Guide::MacOSX
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide%3A%3AMacOS+X
を参考にport経由でやってみました。
ちなみにportのインストールや設定も上記のサイトで丁寧に解説してくれています。

sudo port install ruby +darwin +mactk
なんてやるとちょっと時間が掛かりますが、え〜、いずれ終了します。
で、終了したのを見計らい、
/opt/local/binにパスが通してあれば
ruby -v 

ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]
となるはずです。
(通してなければ、/opt/local/bin/ruby -v で行けます。)

MacPortsでアップデートした場合、/usr/bin/rubyはそのまま残ります
単にターミナルで
ruby
とするとデフォルトのパス設定の場合、/usr/bin/rubyになります
新しいMacPortsで導入したrubyを優先したい場合、/usr/bin/rubyを消しちゃえばいいのですが、
それはそれで残しておきつつ新しい方を優先したければパスの優先順位を変更すればよろしい。

いかりや長介 > チョウさん > 調査 2

つづき

正直、インタプリタってたまに聞く(見る)けどよく解ってなかったのでついでに整理。
 < wikiの説明が解りやすかった。http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF
ソースコードをいちいち、逐次、変換しながら実行するアプリ、ソフトウェア。で、そんな風に実行するプログラム言語が
スクリプト言語だ。大凡そんな解釈でいい気がしてたまらない。


コマンド(正確にはシェル・コマンドと言うべき?)
正体:シェルが理解できる命令文

シェル・スクリプト
正体:コマンドを組み合わせたプログラム

私なりの定義付けが完了した。みっしょん・こんぷりーと > 自分
これで、ぐっすり眠れる気がしてたまらない。
つーか、「そんなこともしらなっかったのかよ、あぁっ〜」と何処かで言われてそうな気がしてたまらなくもある。


いかりや長介 > チョウさん > 調査

シェルとはなんだ?!
まあ辞書で引けば”貝殻”ですね。
ほかにも乗り物等の外郭やら破裂弾なんて意味もある様です。
と、ここでは全く関係ありません。

えー、unixやらlinuxやらosx(これもunixですね)を使っていると
避けては通れない (通ってもいいけど)覚えると非常に有意義というか
やっぱり避けては通れない。やっぱり。
だいたいお仕事で(若しくはそれに準ずる様な状況で)unix系のOSを使う時にですよ、
「主に書類書きに使ってます。」的な用途よりwebやらメールやらファイルやらのサーバ用途で使う事が
多いに決まってる様な気がしてたまらない。で、そんなときは...
シェルのコマンドで操作した方が楽だったりする事が多いですよね(よね?)
でもって、私もシェルのお世話になりっぱなしな訳ですけど。

さて、シェルってなんだろ?
て、思いまして、そもそも定義がよく解んなかったので(私だけかもしれないが)自分なりにまとめてみました。

シェル
正体:いちプログラム、アプリケーション
用途:カーネルとユーザとのコマンドを通しての橋渡し
備考:端末(ターミナル)を介して受け取ったコマンドを実行し、結果を返す。
シェル・コマンドを実行するインタプリタである。
備考2:sh, bash, csh, tcshとか色々ある < あ、これは知ってるけどね。しってるだけ(間違っても使い分けたりしてません、私、笑)

彼女(彼氏)とでかける date

linux(ディストリによって違うかもしれないけど)だと
date --date '1day ago' +%Y%m%d
とかやれば一日前を表示するし
date --date '1year ago' +%Y%m%d
とすれば一年前を教えてくれる

やや便利。

きるびる kill

nofnof% ps -aef
とかなんとかしてプロセス番号(PID)を調査し捕まえる

たとえば終了したいPIDが255だったばやい
nofnof% su - root
password:
でrootになって

root# kill 255
とかやって強制終了で来ます。が、

root# kill 255
とかやっても落ちない、死なないプロセスは

root# kill -9 255
とかやってみるという事を聞いてくれる場合が多い気がする(笑)


ちなみに再起動は
root# kill -HUP 255
とかする。

ぐっらっく。