yumだと1.8系が入ったり、checkinstallを使おうとするとうまくいかないという情報があったので、RPMを作成してインストールする。
1. Gitをインストール
あると何かと便利なので、Gitを入れておく。
バージョンは古いがyumでインストールしたもので良いと思う。
古いのが嫌な場合はソースからコンパイルするなりして新しいバージョンを利用する。
(rpmforgeを使おうとしたら Require:libcurl.so.3()とかでてインストールできなかった。git-なんとか.el5.rf.x86_64とかなっていたのが気になったがうまく解決できず)
(以下、コマンドはrootならsudoはいらない)
$ sudo yum install git
$ git --version
git version 1.7.1
2. rubyをインストール。
2.1. 必要なパッケージのインストール
EPELのリポジトリを追加し、rubyのビルドに必要な以下のパッケージを予めインストールしておく。
- zlib-devel
- openssl-devel
- readline-devel
- libffi-devel
- tk-devel
- libyaml-devel
sudo rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
sudo rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
sudo yum install -y zlib-devel openssl-devel readline-devel ncurses-devel gdbm-devel db4-devel libffi-devel tk-devel libyaml-devel
2.2. rpmビルド用ユーザを作成する
$ sudo useradd rpmdevel
2.3. rpmbuildを実行する準備をする
以下の操作は 2.2で作成したユーザrpmdevelで行う。
ユーザのスイッチ方法は以下のコマンド。
$ su - rpmdevel
ユーザをスイッチしたら、rpmbuildに必要なディレクトリとマクロを用意する。
$ mkdir -p ~/rpm/{BUILD,SRPMS,SPECS,SOURCES,RPMS}
$ echo "%_topdir $HOME/rpm" > $HOME/.rpmmacros
2.4. specファイルの準備
RPMを作成するためのbuildファイルを以下から取得する。
https://github.com/lnxchk/ruby-1.9.3-rpm
$ git clone https://github.com/lnxchk/ruby-1.9.3-rpm
cloneしたスペックファイルはruby-1.9.3-p0用のスクリプトであるので先頭にある以下の記述をp286に変更する。
%define rubyver 1.9.3
# define rubyminorver p0 -> p286に変更
%define rubyminorver p286
~~ 略 ~~
変更したら、2.3で作成した~/rpm/SPECSへ移動またはコピーする。
$ cp ruby-1.9.3-rpm/ruby-1.9.3-rpm ~/rpm/SPECS
2.5 RPMの作成
2.4まで準備が完了したら、ソースコードをダウンロードしRPMを作成する。
ソースコードはruby公式ページよりダウンロード
$ cd ~/rpm/SOURCES/
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz
ダウンロード完了後、rpmbuildを実行し、RPMを作成する。
$ rpmbuild -bb ~/rpm/SPECS/ruby193.spec
rpmbuildが完了すると、以下の場所にrpmファイルができる。
ls -ltr /home/rpmdevel/rpm/RPMS/x86_64/
合計 31392
-rw-rw-r-- 1 rpmdevel rpmdevel 26420620 11月 5 13:09 2012 ruby-1.9.3p286-2.el6.x86_64.rpm
-rw-rw-r-- 1 rpmdevel rpmdevel 5718776 11月 5 13:09 2012 ruby-debuginfo-1.9.3p286-2.el6.x86_64.rpm
2.6. 作成したRPMのインストール
exit
でrpmdevelから一般ユーザにもどる or su -
でrootになって、2.5で作成したRPMをインストールする。
$ sudo rpm -ivh /home/rpmdevel/rpm/RPMS/x86_64/ruby-1.9.3p286-2.el6.x86_64.rpm
インストールが完了したら、
$ ruby -v
ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-linux]
$ gem -v
1.8.23
でバージョンを確認して完了!