@mwumli
2019-05-10T17:27:03.000000Z
字数 1772
阅读 9258
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 可以看到下载的包
$ ls
libevent-2.0.21-stable.tar.gz
$ tar xvf libevent-2.0.21-stable.tar.gz
$ ls libevent-2.0.21-stable
libevent-2.0.21-stable libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
libevent-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.9
ncurses-5.9 $ ./configure --prefix=/home/vagrant/ncurses //配置安装目录
ncurses-5.9 $ make
ncurses-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)