hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

CentOS5.5にgitをインストールする(yumを使用)

CentOSにgitをインストールしたときの備忘録です。
CentOSのデフォルトのyumリポジトリでは、git は提供されていないので、色々と作業することがありました。

インストールにあたっては、こちらのページを参考にさせて頂きました。

yum から git がインストール出来ない

いつものように yum から git をインストールしようとすると、「No package git available.」という形で git のインストールが出来ませんでした。

# yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
No package git available.
Nothing to do

これは、最初に書いたように、CentOSのデフォルトのyumリポジトリでは git が提供されていないためになります。
提供されていない理由としては、

CentOS のデフォルトの状態では必要なソフトウェアが不足している。その理由は Red HatRed Hat Enterprise Linux (RHEL) という商用 Linux 製品のクローンだからだ。製品版 Linux であれば、提供するものはすべてサポートしなければならない。あまり多くのソフトウェアを詰め込んでしまったら収集が付かない状態になってしまうのだろう。

CentOS 5.0 での yum repository の設定 より

ということです。

yum リポジトリを追加

デフォルトのyumリポジトリ以外からインストールができるように、yumリポジトリの追加をします。
以下の2つのファイルを追加します。

/etc/yum.repos.d/git.repo の追加

vim などで「/etc/yum.repos.d/git.repo」を開いて、ファイルを新規作成します。
作成したファイルには以下の内容を書き込みます。

[git]
name=Base git repository
baseurl=http://www.kernel.org/pub/software/scm/git/RPMS/$basearch
enabled=1
gpgcheck=0
/etc/yum.repos.d/rpmforge.repo の追加

さっきと同じようにして、vim などで「/etc/yum.repos.d/rpmforge.repo」を開いて、ファイルを新規作成します。
作成したファイルには以下の内容を書き込みます。

[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
enabled = 0
gpgcheck = 0

yum で「Error performing checksum」が発生する

yumリポジトリの追加が終わったところで、「yum update」を実行すると、「Error performing checksum」というエラーが発生しました。

# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
〜 省略 〜
git                                                                | 1.3 kB     00:00     
git/primary                                                        | 158 kB     00:01     
http://www.kernel.org/pub/software/scm/git/RPMS/i386/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
git/primary                                                        | 158 kB     00:02     
http://www.kernel.org/pub/software/scm/git/RPMS/i386/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
Error: failure: repodata/primary.xml.gz from git: [Errno 256] No more mirrors to try.
「python-hashlib」をインストール

上記のエラーについて、「python-hashlib」をインストールすれば解決するということが書いてあったので、rpm からインストールします。

# wget http://skvidal.fedorapeople.org/hashlib/python-hashlib-20081119-2.i386.rpm
# rpm -ivh python-hashlib-20081119-2.i386.rpm
# rpm -qa | grep hashlib
python-hashlib-20081119-2
もう一度「yum update」を実行(今度は成功)

「python-hashlib」がインストールできたら、もう一度「yum update」を実行します。今度は成功しました。

# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
〜 省略 〜
git                                                                | 1.3 kB     00:00     
git/primary                                                        | 158 kB     00:01     
git                                                                             1469/1469
updates                                                            | 1.9 kB     00:00     
updates/primary_db                                                 | 915 kB     00:02     
Setting up Update Process
No Packages marked for Update

yum から git をインストール

ここまでで、準備がおわったので、yum から git をインストールします。インストール時は「--enablerepo=rpmforge」を指定します。
「 /etc/yum.repos.d/rpmforge.repo」を作成した際に、「enabled = 0」を指定していて、デフォルトではこのリポジトリを使用しない動作になるので、「--enablerepo=rpmforge」を指定して明示的に rpmforgeリポジトリを使用するようにします。

# yum install git --enablerepo=rpmforge
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * rpmforge: fr2.rpmfind.net
〜 省略 〜
Running Transaction
  Installing     : git                                                                1/2 
  Installing     : perl-Git                                                           2/2 

Installed:
  git.i386 0:1.7.3.4-1.el5.rf                                                             

Dependency Installed:
  perl-Git.i386 0:1.7.3.4-1.el5.rf                                                        

Complete!

正常にインストールが完了しました。
念のため、git のバージョンを確認すると、

# git --version
git version 1.7.3.4

で問題なく動作することも確認できました。

今回参考にしたページ

CentOS 5.4 に git をインストール - ノンポリ技術メモ
http://d.hatena.ne.jp/nkawaguchi/20100523/1274610691

CentOS 5.0 での yum repository の設定
http://linux4pro.seesaa.net/article/41230169.html

CentOS に etckeeper をインストール - miauの避難所
http://d.hatena.ne.jp/miau/20091012/1255365273

yum 実行時に「Error performing checksum」エラー - miauの避難所
http://d.hatena.ne.jp/miau/20100404/1270384404