静态编译 Tmux
最近在学习使用 Tmux 这个终端复用神器,由于服务器上并不是管理员用户,因此就想自己静态编译安装 Tmux。
CentOS 静态编译
方法很简单,但是也绕了不少弯路。
根据wiki,首先我们下载 tmux,以及所依赖的libevent 2.x
与ncurses
。
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 install -c conda-forge tmux