Minimal インストールの CentOS 6.4 に最新版の git をインストールする

環境

手順

前提パッケージインストール

以下のパッケージをインストールする。
なお、wgetcurlを使用する場合、SSH経由でファイルを送り込める場合はインストールしなくてもよい。

  • curl-devel
  • expat-devel
  • gettext-devel
  • openssl-devel
  • zlib-devel
  • perl
  • wget
  • make
  • gcc
  • perl-ExtUtils-MakeMaker
  • tcl
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl
  依存ライブラリ。ないとmakeが通っても動かない・・・らしい。perl は依存パッケージとしても入る。
  gettext-develがないとmake時に下記エラーが発生。
    MSGFMT    po/bg.msg make[1]: *** [po/bg.msg] Error 127
  zlib-develがないとmake時に下記エラーが発生。
    cache.h:21:18: warning: zlib.h: No such file or directory
  perl がないとmake時に下記エラーが発生。
    make[1]: /usr/bin/perl: Command not found
    make[1]: *** [perl.mak] Error 127

# yum install wget
  ないとソースコード入手が面倒。curlを使う場合やファイルを持ち込むなら不要。

# yum install make gcc
  makeがないとmakeできない。
  gccがないとコンパイルできない。configure時点でエラーが発生。

# yum install perl-ExtUtils-MakeMaker
  ないとmake時に下記エラーが発生。
  Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: 
        /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
        /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
  BEGIN failed--compilation aborted at Makefile.PL line 3.

# yum install tcl
  ないとmake時に下記エラーが発生。
  * tclsh failed; using unoptimized loading
ソース取得(2.3.0)

wgetを使う場合

# mkdir /persistent/git
# cd /persistent/git
# wget https://www.kernel.org/pub/software/scm/git/git-2.3.0.tar.gz

curlを使う場合

# mkdir /persistent/git
# cd /persistent/git
# curl -LO https://www.kernel.org/pub/software/scm/git/git-2.3.0.tar.gz
展開・ビルド・インストール
# tar xzvf git-2.3.0.tar.gz
# cd git-2.3.0
# ./configure --prefix=/usr/local/
# make
  エラーがなければよい。エラーがある場合にはパッケージ不足の可能性が高い。
# make install
  下記の出力で終わる。成功したのかいまいち解り難い。
  ./check_bindir "z$bindir" "z$execdir" "$bindir/git-add"
動作確認
# which git
/usr/local/bin/git

# git --version
git version 2.3.0