ruby

今回は、こちらの作業の続きです。fluentでログが採れたところからの作業となります。いよいよグラフ化するところに入ります。RRDtoolはCentOSのパッケージからインストールするとうまく動かないとのことなので、GrowthForecastのみPerlを最新化しつつRRDtoolも独自にインストールします。

■ 何はなくとも下準備

GrowthForecastを動かすために、以下のパッケージをyumの標準リポジトリからインストールします。
[cc lang='bash' ]
[admin@mega21 log]$ sudo yum install glib2-devel gettext libxml2-devel pango-devel cairo-devel
[admin@mega21 log]$ cd
[/cc]

…続きを読む

CentOS はRHELのクローンOSなので、Fedoraと違いパッケージは多少古くても安定したものを採用しています。このため、Rubyの最新版で開発しようとしてもソースからインストール・・・というのも、1台だけならまだしも多数インストールするとなると面倒くさい話です。そこで、最新版のRubyをrpmパッケージ化してしまおうというお話です。

CentOS 6.3にruby 1.9.3-p194 をインストールしようとした際、当初は checkinstall でのパッケージ化を試みましたが、docしかインストールされないパッケージが出来上がったりするなどして大ハマり。みんな「出来たー」「できたー」って言ってるけどそんなにハマらないものなのだろうか?と途方に暮れつつググったところ、 checkinstall ではなく rpmbuild で rpm を作成されていた方がいらっしゃいました

基本的には↑のサイトに書いてある通りの手順でできました。SPECファイルは lnxchk/ruby-1.9.3-rpm  を利用しましたが、マイナーバージョンだけ書き換えるだけでビルドが通ります。(※ 2012/08/06 現在) SPECファイルを取得するのに、gitをインストールしておくと何かと捗ります。

■ 必要なもの

OS: CentOS 6.3 (私はx86_64でビルドしました)
パッケージ: "Development Tools" を yum groupinstall でインストール
zlib-devel
openssl-devel
readline-devel
ncurses-devel
gdbm-devel
db4-devel
libffi-devel
tk-devel
libyaml-devel (※ EPELリポジトリからインストール)

以上、自分のやってみたメモでした。

rubyでコマンドラインの引数に与えたサイトをダウンロードするスクリプトを作ってみた。お手本サイトのこことかここの合わせ技で、ハードコーディングされたURLではなく、引数の1番目に与えたURLを引っ張ってくる。あと、引数が空っぽだと"nil"って表示されちゃうので、エラー抑止するようにした。rubyのお手本サイトを見て自分でちょっと考えて手を加えた第一号かも。楽しい!ソース (URL01.rb) は以下。

[cc lang='ruby' ]
# coding: utf-8

unless ARGV[0].nil? then
end
if ARGV.size > 0 then
require 'open-uri'
open(ARGV[0]) do |f|
f.each do |line|
puts line
end
end
end
[/cc]

実行結果はこんな感じ。

[cc lang='text' ]
ruby URL01.rb https://nullpopopo.blogcube.info/ > index.html
[/cc]

こんにちは。次回のTechLION vol.6に、まつもとゆきひろさんが登壇される記念に、と言いながら忘れっぽい自分用のメモにruby開発環境インストール手順をまとめておきます。とか言いながら、さらに言うと「XXでエラーおきた」→「ググろう」で一部の手順しか載っていないサイトより、最初から最後までの手順があったほうがみんな幸せでしょ?ということでまとめておきました。前提は以下の通りです。

・ 作業日 2012/04/04
・ OS Centos6.2 (インストール時に使用したISOイメージは CentOS-6.2-x86_64-bin-DVD1.iso )
・ OSインストール時のパッケージ すべて「チェックを外す
・ OSインストール後は$ sudo yum updateですべてのパッケージをアップデート済
・ 作業用ユーザにはsudoでroot権限のコマンドを叩けるように設定済

■ sshで作業できるようにopenssh関連のパッケージをインストールする
[cc lang='bash' ]
sudo yum install openssh-server openssh-clients libedit openssh
[/cc]

■ 時刻あわせのためntpdateコマンドをインストールする (任意)
[cc lang='bash' ]
sudo yum install ntpdate
[/cc]

■ rubyのpathが通っているかを調べるためwhichコマンドをインストールする (なくてもよいがあったほうが便利)
[cc lang='bash' ]
sudo yum install which
[/cc]

■ libyamlやrubyのパッケージをwebからダウンロードするため、wgetコマンドをインストールする
[cc lang='bash' ]
sudo yum install wget
[/cc]

■ 日本語文字コード変換のためnkfコマンドをインストールする (iconvがインストールされているので、それで充分って方はお好みで)
[cc lang='bash' ]
sudo yum install nkf
[/cc]

■ libyamlインストール時にfileコマンドがあるかどうかチェックしているので、fileコマンドをインストールする(なくてもコンパイル通ったけどあると便利なので)
[cc lang='bash' ]
sudo yum install file
[/cc]

■ その他ネットワーク系などのトラブルシュートに便利なコマンドをインストール(任意)
[cc lang='bash' ]
sudo yum install bind-libs bind-utils tcpdump libpcap lsof
[/cc]

■ メール飛ばしたいときはpostfixとmailコマンドがあると便利(任意)
[cc lang='bash' ]
sudo yum install postfix mailx
[/cc]

■ コンパイラなどをインストールする。zlib-develとopenssl-devel、sqlite-develはrubyインストール時にあったほうがいい
[cc lang='bash' ]
sudo yum install gcc openssl-devel zlib-devel make patch sqlite-devel
[/cc]

■ DBにMySQLを使う場合は先にインストールしておく
[cc lang='bash' ]
sudo yum install mysql mysql-libs mysql-devel mysql-server
[/cc]

■ libyamlとrubyをダウンロードする
[cc lang='bash' ]
mkdir src
cd src
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
[/cc]
# 最新版のパッケージがあるかどうかは以下のサイトで確認のこと
# http://pyyaml.org/download/libyaml/
# ftp://ftp.ruby-lang.org/pub/ruby/1.9/

■ libyamlをインストールする
[cc lang='bash' ]
tar xvzf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure
make
sudo make install
cd ../
[/cc]

■ rubyをインストールする
[cc lang='bash' ]
tar xvzf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125
./configure
make
sudo make install
[/cc]

※ 確認
[cc lang='bash' ]
which ruby
/usr/local/bin/ruby
[/cc]

[cc lang='bash' ]
ruby -v
ruby 1.9.3p125 (2012-02-16) [x86_64-linux]
[/cc]

[cc lang='bash' ]
which gem
/usr/local/bin/gem
[/cc]

■ railsをインストールする
[cc lang='bash' ]
sudo /usr/local/bin/gem install rails --version "~> 3.2.1" --no-rdoc --no-ri
[/cc]
※ 必ずバージョン3.2.1以上を指定すること

※ 確認
[cc lang='bash' ]
rails -v
Rails 3.2.3
[/cc]
以上がRailsの最低限の開発環境構築手順でした。ね、簡単でしょ?