Google Code Prettify

2008年8月3日

CentOS 5.2 上で Ruby の環境を整える

CentOS 5.2 の標準では ruby 1.8.5 止まりである。

Ruby を最新バージョンに上げて、RubyGems入れて、Railsも入れるとか、結構、巷で行われている

まぁ、記念なので、次のサイトを参考にインストールしたら、すんなりできた

RPMforge の追加

公開鍵の取得し、レポジトリのパッケージの確認し、インストールし、デフォルトでは使わない設定をする。

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -K rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpmforge-release-0.3.6-1.el5.rf.i386.rpm: (sha1) dsa sha1 md5 gpg OK
# rpm -i rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# sed -ie 's/enabled = [01]/enabled = 0/' /etc/yum.repos.d/rpmforge.repo
# yum --enablerepo=rpmforge list

気持ち ffmpeg や mencoder をインストール出来るようになるってうれしい

# yum --enablerepo=rpmforge install fmpeg mencoder

checkinstall のインストール

tarball からRPMパッケージなどを簡単に作れるようにするものらしい。(1, 2)、、、ちょっとだけいい。

# yum --enablerepo=rpmforge install checkinstall

ruby 1.8.7 のインストール

公式サイトから取得して、つらつらとRPMパッケージに仕立てて、インストールする。バイナリパッケージなので、依存するライブラリを気をつければ、別の環境にもサクサク移せるとは、いい感じ。

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p17.tar.bz2
# tar xfj ruby-1.8.7-p17.tar.bz2
# cd ruby-1.8.7-p17
# ./configure --prefix=/usr
...
# make
...
# checkinstall --fstrans=no
...
# rpm -ih /usr/src/redhat/RPMS/i386/ruby-1.8.7-p17-1.i386.rpm 
# ruby -v
ruby 1.8.7 (2008-06-09 patchlevel 17) [i686-linux]

RubyGemsのインストール

公式サイトから取得して、サクッとRPMパッケージに仕立てて、インストールする。

# wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
# tar xfz rubygems-1.2.0.tgz 
# cd rubygems-1.2.0
# checkinstall -R "ruby setup.rb"
...
# rpm -ih /usr/src/redhat/RPMS/i386/rubygems-1.2.0-1.i386.rpm 
# gem -v
1.2.0

ここまでくると、gem コマンドが使える状態になるので、あとはそいつに任せれば、環境が出来上がる。

# gem install rails

どっかに、CentOS 用の ruby 最新版のレポジトリとか無いのかなぁ。。。

追記(2010-05-18)

2年も経つとURLも変わるらしい。上手く行かない時は次の記事を参考にと。

1.8.7へアップデート死亡遊技 - Rubyの勉強を始めます。 - Rubyist

2008年8月1日

Xen on CentOS5 は安定してる

P4P800-VM に CentOS 5.2 をインストールしてみた。インストール時に、パッケージ選択に仮想化をチェックすれば、インストール直後から Xen+Dom0 の環境が素で出来ていた。RHEL から流用しているからか、変に固まること無く本当に安定してる。

但し、2点くらい留意する必要があるっぽい。

  1. CentOS 5.2 のインストールメディアを使う場合、インストール時とカーネルを最新バージョンにするまで irqpoll を付ける必要がある。逆に言えば、yum で最新バージョンにすれば必要ない。つまり、CentOS 5.3 くらいには、過去の事になるんだろうなぁ。
  2. 別途PCIカードに差し込んだ e1000 のアダプタで Wake On Lan が機能しない。これは Xen によるブリッジが放置される問題で、終了処理にブリッジを落とせば問題なく機能する。

Second p0st: Wake on LAN」には debian 向けに書かれているが、これを CentOS 用に変更し、/etc/init.d/xen-bridge-phil に書き落とす。その後、適当なコマンドで登録する。

#!/bin/sh
#
# xen-bridge-phil	Stopping Xen network bridge so WOL will work
#
# Author:       localadmin <localadmin@localhost>
#
# chkconfig: 2345 99 02
# description: Stopping Xen network bridge so WOL will work

# Source function library.
. /etc/rc.d/init.d/functions

RETVAL=0
prog=xen-bridge-phil
ETH=eth0

stop()
{
        /etc/xen/scripts/network-bridge stop > /dev/null 2>&1
        test "x$ETH" != "x" && /sbin/ethtool -s ${ETH} wol g
}

case "$1" in
  start)
	touch /var/lock/subsys/$prog
	;;
  stop)
        echo -n "Stopping Xen network bridge so WOL will work"
        stop
	RETVAL=$?
	if [ $RETVAL -eq 0 ]; then
		rm -f /var/lock/subsys/$prog
		success $"$prog shutdown"
	else
		failure $"$prog shutdown"
	fi
	echo
        ;;
esac

exit 0

登録処理

# chkconfig --add xen-bridge-phil

ついでなのだが、終了時に xend が呼ばれていない気がするので、/etc/init.d/xend の中に適当な位置に

...
start)
...
  touch /var/lock/subsys/xend
...
stop)
...
  rm -f /var/lock/subsys/xend
...

を埋め込む必要があるかもしれん。

追記 (2008/12/10)

某OKWaveの質問サイトにリンクの記載がある。それは良いんだが、ホスト名が異なるだけのコピーが約30サイトもあるのには、ビックリした、、、OKWaveって。。。

大本の質問のやり取りは、「XenでWOLできない?」がそうらしい。

最近のNICのWOLの設定は、電源を完全に落とすと保存されないものが多くなったなぁ。それに、カーネルのバージョンがあがると思い出したようにWOLの不具合が発生するし、みんなIPMPに流れて使っていないのかんなぁ。。。普通のマザボでも載るならよいのに。。。グチグチ

まぁ、ethtool で設定を入れ込むとしたら、/etc/init.d/xen-bridge-phil ファイルのstop()関数の中で、上のようにすればよいかも。

WOL設定って、udev で何とかするのがモダンな解法なのかなぁ。。。良くわからんが。。。。

がんばれ>>RedHat/Fedoraチーム

Remote がiTunesから登録を解除される問題の対処法

iPhone/iPod touch アプリに Remote という、iTunes を制御できる優れものアプリがあるらしい。iPod touch のファームを 2.0 に上げて以来試しているが、なぜかiTunesから登録が解除される挙動に悩まされてきた。。。

今日なんと対処法が分かった。。。

どうも4桁のピンコードを入力した後に、折り返しに iTuens から iPod touch へ HTTP アクセスがあって登録が完了するらしい。このとき iTunes が動いてるマシンにプロクシ設定があるとき、折り返しアクセスが HTTPプロクシを通して返され、別のIPアドレスから登録完了の通知なので iPod touch に拒絶されるのが原因らしい。。。あばば

つまり、4桁のピンコード登録時にはiTunes が動いてるマシンのプロクシを一時的に切れば良い。

で登録できましたよ〜〜。。。Remote アプリいいすぅね。。。

久しぶりの投稿

かなり期間が空いてしまったが、ブログを再開してみようと思う。 2013年3月が直前の投稿だったが、頻繁に更新していた時期が 2011年11月までなので、8年間ぶりとなる。 8年間なにをしていたのかと言えば、2回転職して未だにIT技術者の職を得ている。 その...