HOKYPOKY.BLOG

CentOS 5 Rubyをインストール – rpmパッケージを作る

CentOS 5.4がきましたね。yum -y updateしたら勝手にインストールされたんですけどね。

しかしCentOSのパッケージは古い。RPMforgeのリポジトリもruby 1.8.5だしね。
Ruby 1.8.7や1.9.1など新しいバージョンのRubyを入れたい場合は、自前でコンパイルする必要がある。

自前でコンパイルした場合に一番こまるのは、yumなどで管理できないってこと。
なので一応RPMパッケージをローカルにつくってyumで管理する手順を説明する。

例としてRuby1.8.7をインストールするよ。
まずは、RPMパッケージを作成するためのcheckinstallをyumからインストールする。

# yum -y install checkinstall

これでRPMパッケージをつくることができる。
次にRuby1.8.7-p174をインストールする。
2009/10/22時点でこれが1.8系の最新なのだけど下記のサイトで最新が公開されているかもしれないので、その場合はそっちを使う。
おそらくp174ってところがパッチレベルなんだけどこれがもっと上の数になるはずだ。
その場合は下記のp174を適宜置き換えて欲しい。

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.bz2
# tar xfj ruby-1.8.7-p174.tar.bz2
# cd ruby-1.8.7-p174
# ./configure --prefix=/usr
# make

これでRuby1.8.7がコンパイルされた。
つぎにcheckinstallをつかってRPMパッケージを作成する。

# checkinstall --fstrans=no

最初に聞かれるやつはRPMなのでRと入力してEnter。
他にも幾つか質問されるが全部Enterですすんでいこう。
ボクは一応メモとしてdescriptionのところだけ編集しました。

# cd /usr/src/redhat/RPMS/i386/
# ls

これでビルドしたRPMが表示されるはずだ。

最初にインストールする場合は

# rpm -ivh パッケージまでのパス

アップグレードする場合は

# rpm -Uvh パッケージまでのパス

です。

つまり今回初めて入れる人は

# rpm -ivh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p174-1.i386.rpm

となります。
ボクはp72をいれていたので

# rpm -Uvh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p174-1.i386.rpm

として新しくつくったRPMにアップグレードしました。
おしまい。