CentOS7へgitの最新版をソースからインストールした際のメモです。
yumでインストールしたgit
CentOS7にyumでgitをインストールしたのですが、バージョンが1.8.3.1と最新ではないので、ソースから最新版をインストールすることにしました。
yumでインストールしたgitのバージョン
「git --version」コマンドでインストールされているgitのバージョンが確認できます。
# git --version git version 1.8.3.1
ソースからのgitインストール
インストール手順は公式サイトの手順を参考にしています。
事前準備
gitインストールに必要なパッケージ
gitをインストールするために必要なパッケージをインストールします。
- curl-devel
- expat-devel
- gettext-devel
- openssl-devel
- zlib-devel
- perl-ExtUtils-MakeMaker <--github公式の手順にはないけど必要です
パッケージのインストール
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
※ソースからコンパイルするので、make、gcc、autoconf等も必要です。インストールされていない場合はあわせてインストールしてください。
gitのアンインストール
すでにgitがyum等でインストールされている場合は、それを削除します。
インストールされていない場合は、ここの作業は必要ありません。
# yum remove git
ソースのダウンロード
gitのソースは下記のURLからダウンロードできますので、使用したいバージョンのソースを探してダウンロードしてきます。
ダウンロードサイト
https://www.kernel.org/pub/software/scm/git/
wgetでダウンロード
今回は2015.05.12時点での最新版(2.4.0)を使用したかったので、wgetでダウンロードを行いました。
# wget https://www.kernel.org/pub/software/scm/git/git-2.4.0.tar.gz
gitインストール(コマンドのみ)
gitのコマンドのみをインストールするのは非常に簡単です。
解凍
ダウンロードしてきたソースファイルを解凍します。
# tar xzfv git-2.4.0.tar.gz
コンパイルとインストール
「/usr/local/bin」にインストールしたかったので、configureの際にprefiexを指定しています。
# cd git-2.4.0 # make configure # ./configure --prefix=/usr/local # make all # make install
gitのバージョン確認
「git --version」コマンドでインストールされたgitのバージョンを確認すると、無事最新版のgitがインストールされていました。
# git --version git version 2.4.0
以上で、gitコマンドのみのインストールは完了です。
gitのドキュメントインストール
gitのmanとかもあったほうが便利だと思ったので、公式ページを参考にドキュメント関連もインストールしようと思ったのが苦難始まりでした・・・
man等のドキュメントをインストールする場合公式サイトのドキュメントを見ると、下記のように記述されています。
「ドキュメントを doc、html、info 形式等で出力したい場合は、以下の依存ライブラリも必要になります。」 # yum install asciidoc xmlto docbook2x
これだけを見れは非常に簡単そうなのですが、そう簡単にはいきませんでした・・・
必要パッケージのインストール
「asciidoc」「xmlto」の2つは簡単にyumでインストールすることが出来ますが、「docbook2x」は外部リポジトリである「epel」を使用してインストールする必要があります。
また、公式サイトでは「docbook2x」と表記されていますが「docbook2X」(Xは大文字です)としてインストールする必要があります。
あと、「docbook-utils」も必要ですので、あわせてインストールする必要があります。
epelの外部リポジトリを使用するためには事前に設定が必要です。設定されていない場合はこちらのページに設定方法をまとめていますので、参考にしてみてください。
# yum install asciidoc xmlto # yum install --enablerepo=epel docbook2X docbook-utils
リンクの設定
「docbook2X」「docbook-utils」については、インストールしただけではgitのコンパイル時にエラーが出てしまいますので、下記の作業を行う必要があります。
# ln -s /bin/db2x_docbook2texi /bin/docbook2x-texi
※リンクの設定について
この部分ではまっている人がいたら参考になるかと思い、ログともに経緯を残しておきます。
最初は、「docbook2x-texi: コマンドが見つかりません」とメッセージ(エラーログ1参照)が出力されていたので、似たようなコマンド名を検索し「ln -s docbook2texi docbook2x-texi」といったようにリンクを張って、最コンパイルしたのですが、今度は「Usage: jw [<options>] <sgml_file>」といったメッセージ(エラーログ2参照)が出力されてコンパイルがとまってしまいました。
ここで、かなり悩んだのですがgoogle先生に聞くとこちらのページを教えてくれたので、解決できました。
エラーログ1
「docbook2x-texi: コマンドが見つかりません」に関するエラーログ
make[2]: ディレクトリ `/root/git-2.4.0' から出ます DB2TEXI user-manual.texi /bin/sh: 行 1: docbook2x-texi: コマンドが見つかりません make[1]: *** [user-manual.texi] エラー 127 make[1]: ディレクトリ `/root/git-2.4.0/Documentation' から出ます make: *** [info] エラー 2
エラー内容2
「Usage: jw [<options>] <sgml_file>」に関するエラーログ
make[2]: `GIT-VERSION-FILE' は更新済みです make[2]: ディレクトリ `/root/git-2.4.0' から出ます DB2TEXI user-manual.texi Usage: jw [] where are: -f|--frontend : Specify the frontend (source format) (default is docbook)
解凍・コンパイル・インストール
ドキュメントに必要なパッケージのインストールと、リンクの設定さえ終わってしまえば後の作業は非常に簡単です。
公式サイトの手順どおりにgitのソースを解凍し「configure」「make」「make install」と作業を進めていくだけす。
※インストール先を「/usr/local/bin」にしたかったので、configureの際にprefixを設定しています。
# tar xzfv git-2.4.0.tar.gz # cd git-2.4.0 # make configure # ./configure --prefix=/usr/local # make all doc info # make install install-doc install-html install-info
以上でインストールは完了ですので、gitのバージョンを確認してみてください。
コメント