14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS 6.3にruby 1.9.3-p286のRPMを作成しインストールする

Posted at

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に変更する。

ruby-1.9.3-rpm
%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

でバージョンを確認して完了!

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?