RHEL4にyumをインストール

そもそもOSはRed Hatだがyumがないらしい。とりあえずバージョンが何なのかを知らないことには…と思い、ここを参考に

cat /etc/*-release

を実行すると、

Red Hat Enterprise Linux WS release 4

どうやらRHEL 4らしい。
…関係ないが、RHEL 4のサポート(厳密には違うんだろうが…)が2012.2で切れてた。どーすんだろ?

さて、せっかくならyum欲しいよね?ってことでインストールしてみた。
yumの公式サイト?を眺めて、取り敢えず2.9ならいいかな?ってことでこれをダウンロード、インストール

wget http://yum.baseurl.org/download/2.9/yum-2.9.8-1.src.rpm
sudo rpm -ivh yum-2.9.8-1.src.rpm
sudo rpmbuild --ba /usr/src/redhat/SPECS/yum.spec

ここまで実行したところで、

RPM build error:
    Fie not found by glob:/var/tmp/yum-2.9.8root/usr/lib/python?.?/site-packages/yum
    Fie not found by glob:/var/tmp/yum-2.9.8root/usr/lib/python?.?/site-packages/rpmUtils

というエラーが…少しぐぐったが分からずorz
別バージョンで試してみるか、ということで2.4.3をダウンロードして試したが同じエラー…
File not foundということでもしかしたら…と思い確認してみると、ファイルのパスが違ってた!
そしてふとsrc.rpmhoge.spec という設定ファイルが云々とか見たのを思い出し、yum.specを開いてみると、ありましたよ

%{_bindir}/yum-arch
/usr/lib/python?.?/site-packages/yum

これを↓のように書きなおして(localを追加)

%{_bindir}/yum-arch
/usr/local/lib/python?.?/site-packages/yum

再度実行すると、python-elementtree, python-sqlite, urlgrabberがないようだ。どうやら依存関係が解消されない模様。

wget http://vault.centos.org/4.5/os/x86_64/CentOS/PRMS/python-{elementtree-1.2.6-5.el4.centos.x86_64,sqlite-1.1.7-1.2.1.x86_64,urlgrabber-2.9.8-2.noarch}.rpm
sudo rpm -Uvh *.rpm

でダウンロードしてインストール。python-sqliteについてはsqlite3が入ってなかったのでまた依存関係で躓いた…

wget http://vault.centos.org/4.5/os/x86_64/CentOS/PRMS/sqlite-3.3.6-2.x86_64.rpm
sudo rmp -Uvh sqlite-3.3.6-2.x86_64.rpm

でダウンロードしてインストール。依存関係を解消したところで再度python-sqliteをいれて、

sudo rpmbuild --ba /usr/src/redhat/SPECS/yum.spec

を試してみると Wrote: hogehoge
とか出てきたのでうまく入ったようだ。

sudo rpm -ivh /usr/src/redhat/RPMS/noarch/yum-2.4.3-1.rpm

で、whereis yumでパスが通ってることを確認して無事インスト成功!やったね(∩´∀`)∩ワーイ

さて、それではscipyいれますか!と思った矢先にまた問題発生…

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
    No module named yum
...
It's possible that the above module doesn't match the current version of Python, which is:
2.3.4

yumってモジュールが見つからないとか…
同じようなエラーに遭遇して解決した方がいらっしゃったので、その方のブログを参考にやってみた。
実際にパスが通ってるpythonは2.7だったので、

sudo ln -s /usr/local/lib/python2.7/site-packages/yum /usr/local/lib/python2.3/site-packages/

これを実行して試すとまた同様のエラーが…取り敢えずエラーとして出てきたrpmUtilsとrepomdもリンクを貼って再度scipyをインストールしようとすると、

Setting up repositories
No Repositories Available to Set Up
Reading repository metadata in from local files

と出た!やっとエラーから解放されたようだ

さて、scipyのインストールはeasy_installが楽だったかな?…と思いきや、

sudo yum list python-setuptools
Setting up repositoies
No Repositories Available to Set Up
Reading repository metadata in from local files

…設定が必要なのね( ・´ω・`)
ってことで、JAISTリポジトリに設定してみた。

wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/RPM-GPG-KEY-EPEL-4
sudo rpm --import RPM-GPG-KEY-EPEL-4
sudo vi /etc/yum.repos.d/epel.repo

[epel]
name = Fedora epel repository at Jaist
baseurl = http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/4WS/$basearch/
gpgcheck = 1
enabled = 1

これで yum list python-setuptools が通った!