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することにした。
- リリースログ https://github.com/git/git/tree/master/Documentation/RelNotes
- DL可能なGitファイル https://www.kernel.org/pub/software/scm/git/
環境
いつもの通り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
実行時にエラーが出る。
[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
最新版になった!