静态编译 Tmux

最近在学习使用 Tmux 这个终端复用神器,由于服务器上并不是管理员用户,因此就想自己静态编译安装 Tmux。

Tmux 的Github wiki

CentOS 静态编译

方法很简单,但是也绕了不少弯路。

根据wiki,首先我们下载 tmux,以及所依赖的libevent 2.xncurses

cd ~/Downloads # 将文件下载到Downloads
wget -c https://github.com/tmux/tmux/releases/download/2.8/tmux-2.8.tar.gz
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
wget -c ftp://ftp.invisible-island.net/ncurses/ncurses.tar.gz

首先编译安装依赖项

tar zxf ncurses.tar.gz
cd ncurses-6.1
./configure --prefix=path/to/temp && make && make install # 将 ncurses 安装到path/to/temp,请注意使用绝对路径
tar zxf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --prefix=path/to/temp && make && make install # 将 libevent 安装到path/to/temp,请注意使用绝对路径

然后编译安装 tmux

tar zxf tmux-2.8.tar.gz
cd tmux-2.8
export LDFLAGS="-L/usr/lib -Lpath/to/temp/lib -Wl,-R/usr/lib -Wl,-Rpath/to/temp/lib" # 注意修改成上述编译依赖项的绝对路径,注意是-Wl,-R,不会 C 的我卡在这里好久
export CFLAGS="-I/usr/include -Ipath/to/temp/include" # 注意修改成上述编译依赖项的绝对路径
./configure --prefix=path/to/tmux2 # 注意修改路径
make && make install
###
PATH=$PATH:path/to/tmux/bin/ # 将这句添加到~/.bashrc或~/.zshrc,然后重启终端或 source 一下
###

其他方法以及在 Mac 上

在 Mac 上安装肯定是使用 brew 安装最简单快捷,

brew install tmux

但其实在 Linux 上,也有Linuxbrew,安装完 Linuxbrew 后,也可以使用以上语句进行安装,但我尝试后失败,可能是由于非root用户,所以部分依赖项还是无法安装上,所以这个方法也不是很推荐。

最后一个方法,当然是使用万能的 conda 啦,当时服务器上我并没有安装 conda,因此就直接使用了静态编译。

conda-forge/packages/tmux 2.7

conda install -c conda-forge tmux 
◀ 记录一次 Name.com 自动续费成功退款的经过基因组、cDNA、氨基酸坐标转换神器:Transvar ▶