ponkiti's blog

主に自分用、イベント参加メモや備忘録として利用

CentOSのGitを最新版にアップデートする

昨年12月19日に出ていたGitの脆弱性の件で、Gitを最新版にアップデートしようとして悩んだのでメモしておく。

MacでHomebrewを使っている場合はbrew updateしてbrew upgrade gitすれば最新版になるので楽なのだが、CentOSのGitはソースインストールしないと最新版にはならないらしい。

Gitの最新バージョンの確認

リリースログを見ると「2.2.1」が最新版らしいので、今回はgit-2.1.1.tar.gzをDLすることにした。

環境

いつもの通りVagrantを利用している。

[vagrant@localhost]$ cat /etc/redhat-release
CentOS release 6.4 (Final)

[vagrant@localhost]$ git --version
git version 1.7.1

手順

既存のgitを削除する。

[vagrant@localhost]$ sudo yum -y remove git

スーパーユーザになる。

[vagrant@localhost]$ su -
パスワード:

各種パッケージをインストールする。

※パッケージのインストール漏れがあるとmake prefix=/usr/local all実行時にエラーが出る。

  • curl-devel
  • expat-devel
  • gettext-devel
  • openssl-devel
  • zlib-devel
  • perl-ExtUtils-MakeMaker
[root@localhost ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

最新版のGitをDLする。

[root@localhost ~]# wget https://www.kernel.org/pub/software/scm/git/git-2.2.1.tar.gz

DLしたファイルの解凍する。

[root@localhost ~]# tar zxvf git-2.2.1.tar.gz

[root@localhost ~]# ls
git-2.2.1  git-2.2.1.tar.gz

[root@localhost ~]# cd git-2.2.1

インストール先を設定するため、--prefixオプションを利用してプレフィックスを設定する。

[root@localhost git-2.2.1]# ./configure --prefix=/usr/local

ビルドを実行する。

[root@localhost git-2.2.1]# make prefix=/usr/local all

ビルドしたものをインストールする。

[root@localhost git-2.2.1]# make prefix=/usr/local install

Gitのバージョンを確認する。

[root@localhost git-2.2.1]# git --version
git version 2.2.1

最新版になった!

参照