はじめに
リモートのマシンで作業をする時,tmux などのターミナルエミュレータを使うといろいろと便利です.例えば,突然 ssh の接続が切れてしまっても大丈夫ですし,別のマシンから作業を続けることもできますし,時間のかかるジョブを投げるのに使うこともできます.しかし,tmux は Ubuntu などのディストリビューションでは標準ではインストールされていませんので,apt-get 等を使ってインストールする必要があります.
本記事では,Linux系計算機サーバなどにおいて,管理者権限のない(sudo が使えない)ユーザでも tmux が使えるように,ユーザーローカル(ホームディレクトリの中)でビルド&インストールする手順について紹介します.
汎用的なルール
多くのオープンソースプロジェクトは,下記の2通りに分類されることができます.それぞれのタイプについて,ユーザーローカルでビルド・インストールする方法についての定石について書いておきます.
1. configure → make → make install タイプ
cd source_dir ./configure --prefix=${HOME}/local make && make install
2. cmake → make → make install タイプ
cd source_dir mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=${HOME}/local make && make install
多くのプロジェクトは,これらどちらかの方法で,ローカルにインストールすることができることが多いです.もちろん,例外も多く存在しますので,注意してください.(たとえば,Python に関係するプロジェクトなど)
ローカルへのパスの設定
ローカルへのインストールとは,実行ファイルをホームディレクトリの ~/local/bin に配置したり,ライブラリを ~/local/lib に配置することを言います.しかし,配置するだけではすぐに使えるわけではなく,パスを設定する,という作業が必要です.パスの設定は,.bashrc に以下の2行を追記します.
export PATH=$HOME/local/bin:$PATH export LD_LIBRARY_PATH=$HOME/local/lib
bash を再起動,あるいは,
source ~/.bashrc
を実行すると,設定が反映されます.
tmux のローカルへのインストール
cmake のバージョンが 2.8 以下の時.(該当しない場合はスキップ)
cmake のバージョンが古いときは,新しいバージョンの cmake をローカルにインストールする必要があります.さらに,cmake 3.5 などは,cmake 2.8.4 以上でないとエラーとなるので,最新版のcmake のインストールは 2.8.4 をコンパイル&インストール → 3.5.1 をコンパイル&インストール,という2段階を踏むことになります.tmux のビルドには cmake 2.8.4 で十分ですが,一応,3.5.1 のインストールまで記しておきます.
wget --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.4.tar.gz tar zxvf cmake-2.8.4.tar.gz cd cmake-2.8.4/ ./configure --prefix=${HOME}/local gmake && gmake install cd .. # ここまでで十分.以下は 3.5.1 のインストール. wget --no-check-certificate https://cmake.org/files/v3.5/cmake-3.5.1.tar.gz tar zxvf cmake-3.5.1.tar.gz cd cmake-3.5.1/ ./configure --prefix=${HOME}/local gmake && gmake install
依存パッケージのインストール
依存パッケージの最新版をインストールします.
mkdir tmp_install_tmux cd tmp_install_tmux/ git clone https://github.com/libevent/libevent cd libevent/ mkdir build && cd build/ cmake -DCMAKE_INSTALL_PREFIX=$HOME/local .. make && make install cd ../../ git clone https://github.com/gittup/ncurses cd ncurses/ ./configure --prefix=${HOME}/local make && make install cd ..
tmux のインストール
最後に,tmux をビルド・インストールします.
git clone https://github.com/tmux/tmux cd tmux/ bash autogen.sh ./configure --prefix=${HOME}/local LDFLAGS="-L${HOME}/local/lib" CFLAGS="-I${HOME}/local/include" make && make install
まとめ
tmux をユーザーローカルにビルド・インストールする手順について紹介しました.他のオープンソースソフトウェアについても,同じような手順でローカルに環境構築できますので,参考にしてください.Python の環境構築については,また別の記事で紹介したいと思います.