読者です 読者をやめる 読者になる 読者になる

Google Compute Engineで立ち上げたCentOSのインスタンスにgit & vim & tmux環境構築

Google Compute Engine

Google Cloud Platform Startar Packのプロモコードをもらったので、さっそく登録してインスタンスを立ててみた。

基本的に登録やインスタンスを立てるところまでは書いてある説明を読めばなにも躓くことはなく、せっかくなのでMachine Typeにはn1-standard-2を選択。2つの仮想CPUと7.5GBのメモリで、USホストなら$0.207(US)/時とのこと。
これでStatar Packが切れる6ヶ月後まで走らせたら通信量課金と合わせて$1000超えそうだな......そのうちもう一個低いグレードに落とすかもしれない。

まあともかくそれで、イメージにはDebianCentOSを選べるとの事だったので、CentOSのイメージ( centos-6-v20131120 )を選択。
ちゃんと立ち上がってsshもできたのはよかったものの、gitとvimとtmuxの環境構築で幾つかのエラーにあたって解消法を調べたので、これからまた同じインスタンスを立てることもあるかもしれないし、メモがてらここに書いておこうというのが今回の目的。

ちなみにCentOSのバージョンは

$ cat /etc/redhat-release
CentOS release 6.5 (Final)

6.5。

gitの環境構築

vimのパッケージ管理にVundleを使用しているため、gitは環境構築に必須となる。

今回詰まったのは結局2点で、

  • yumでgitを入れると最新版でないためにエラーが起こる
  • gitを入れる前にlibcurlを入れないとhttpでのcloneでエラーが起こる

というところだった。

なので、とりあえずlibcurlをインストールする。

$ sudo yum install curl-devel

で、必要なパッケージをインストールしてから、gitの最新版をwgetで持ってきてmake installする (gitの最新版はgit-coreのGoogle Projectページで確認できる)。
この時一応、アンインストールしたい時のためにソースコード/usr/local/srcに置いておくようにする。

$ yum install -y zlib-devel perl-devel gettext
$ cd /usr/local/src
$ wget http://git-core.googlecode.com/files/git-1.8.5.tar.gz
$ tar xvzf git-1.8.5.tar.gz 
$ rm git-1.8.5.tar.gz
$ cd git-1.8.5
$ ./configure
$ make
$ make install

この通りやるとインストールディレクトリが/usr/local/bin/gitになってしまうので、シンボリックリンクを貼っておかないとデフォルトの設定ではパスが通りません。

$ ln -s /usr/local/bin/git /usr/bin/git
$ git --version

ちゃんとバージョンが表示されればインストール成功。

vimの環境構築

vimは標準で7.3が入っていたので、それをそのまま使用。Vagrantについては自分のdotfilesにあるsymlink.shを叩けば.vimrc.tmux.confと一緒に自動で入るようになっているので、省略。

tmuxの環境構築

tmuxはyumでインストールできなかったので、gitと同じように最新版をダウンロードしてきてインストールする。

また、参考サイトの monopocket.jp - 最新版 tmux のインストール方法 (Linux)によると

yum を使わないインストールの場合には、libevent の 2 系 が必要

とのことなので、これもwgetとmakeを使ってインストールする。

$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar xvzf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure
$ make
$ make install

Source Forgeのtmuxのページを見るとtmuxの最新版は1.8なので、これをダウンロード・インストールする。

$ wget http://sourceforge.net/projects/tmux/files/tmux/tmux-1.8/tmux-1.8.tar.gz/download?use_mirror=jaist
$ tar xvzf tmux-1.8.tar.gz
$ cd tmux-1.8
$ ./configure
$ make
$ make install

あとはtmuxとlibevent2を結びつける必要がある。このalias ...の文は毎回bash立ち上げ時に実行されるよう~/.bashrcなどに書き込んでおく。

$ alias tmux="LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/tmux"
$ tmux

無事全ての環境構築が終了した。

参考サイト

libcurlのインストール: Stackoverflow - git clone: fatal: Unable to find remote helper for 'https'

最新版のgitのインストール: Qiita - CentOS6.3にgitをソースコードから入れる

最新版のtmuxのインストール: monopocket.jp - 最新版 tmux のインストール方法 (Linux)