@mwumli
2019-05-10T09:27:03.000000Z
字数 1772
阅读 9766
Linux CentOS
CentOS官方软件源中没有 tmux ,如果不想使用EPEL源或者其他第三方源,就要自己编译安装
这里介绍一下 CentOS 下编译安装 tmux
关于 tmux 是什么,能做什么,简单使用
请看 这里
tmux 依赖于 ncurses-devel 和 libevent 这两个软件包
因此要编译 tmux ,首先需要安装这两个包
// 使用 wget 下载$ wget https://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz// 使用 ls 可以看到下载的包$ lslibevent-2.0.21-stable.tar.gz$ tar xvf libevent-2.0.21-stable.tar.gz$ ls libevent-2.0.21-stablelibevent-2.0.21-stable libevent-2.0.21-stable.tar.gz$ cd libevent-2.0.21-stablelibevent-2.0.21-stable $ ./configure --prefix=/home/vagrant/libevent //配置安装目录libevent-2.0.21-stable $ make //编译libevent-2.0.21-stable $ make install //根据之前的配置安装
ncurses-devel 一般在官方源中可以找到 ,于是你可以
$ yum install ncurses-devel
$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz //下载$ tar xvf ncurses-5.9.tar.gz$ cd ncurses-5.9ncurses-5.9 $ ./configure --prefix=/home/vagrant/ncurses //配置安装目录ncurses-5.9 $ makencurses-5.9 $ make install
$ wget http://downloads.sourceforge.net/tmux/tmux-1.9a.tar.gz$ tar -zxvf tmux-1.9a.tar.gz$ cd tmux-1.9a
因为 libevent 和 ncurses 没有安装在默认路径,所以编译 tmux 时,要通过 CFLAGS 和 LDFLAGS 环境变量改变搜索头文件和库文件的路径:
//配置编译和安装环境tmux-1.9a $ CFLAGS="-I/home/vagrant/libevent/include -I/home/vagrant/ncurses/include" LDFLAGS="-L/home/vagrant/libevent/lib -L/home/vagrant/ncurses/lib" ./configure --prefix=/home/vagrant/tmux//配置tmux-1.9a $ make//安装tmux-1.9a $ make install
此时 tmux 已经被安装到 /home/vagrant/tmux/bin/ 下了
在 /etc/profile 或 ~/.bashrc 底部加入:
PATH=$PATH:/home/vagrant/tmux/bin
然后使用 source 命令 或者 重启使之生效
$ sudo cp tmux/bin/tmux /usr/local/bin/
编译完运行 tmux 还可能出错, 因为某些以来的库没有在系统的库文件寻找路径里
按照提示,把相应库文件放入系统的库文件路径下即可
例如以下错误
tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
我们把刚才编译得到的 libevent-2.0.so.5 放入 /usr/lib(32位OS) 或 /usr/lib64(64位OS)