tmux的好处就不多说了,总之是多屏管理的神器。通常我们用系统通用的安装方式可以安装到tmux,但有时候,安装到的可能不是我们所需要的版本,又或者软件源里面没有带tmux。这个时候就需要手动编译安装了。

下面记录一次在CentOS 6.9上手动编译安装tmux的一次实录。

首先先到github上找到tmux:https://github.com/tmux/tmux,git clone到本地,然后查看README:

tmux要依赖于libevent,所以先到http://libevent.org上面下载最新版的libevent包,目前最新包是2.1.8-stable。

下载安装:

$ wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
$ ./autogen.sh
./autogen.sh: line : aclocal: command not found
$ sudo yum -y install automake
$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
Can't exec "libtoolize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN3> line 5.
autoreconf: failed to run libtoolize: No such file or directory
autoreconf: libtoolize is needed because this package uses Libtool

看到一个找不到libtool的报错,安装libtool:

$ sudo yum install libtool

安装成功之后,重新执行./autogen.sh,成功。

接着执行:

$ ./configure
$ make
$ sudo make install

发现缺失了ncurses,安装下:

$ sudo yum install ncurses-devel

## 或者直接下载安装:

$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz
$ tar -xvf ncurses-6.1.tar.gz
$ cd ncurses-6.1
$ ./configure
$ make
$ make install

重新执行上面的过程,OK,libevent,安装成功。

接下来安装tmux,到tmux的目录下,同样执行:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

没看到任何报错,应该是OK了,接下来执行tmux测试下:

$ tmux
tmux: error while loading shared libraries: libevent-2.1.so.: cannot open shared object file: No such file or directory

说找不到libevent,很莫名,去查验下:

$ cd /usr/local/lib
$ ls -lh | grep libevent-2.1.so.
lrwxrwxrwx root root May : libevent-2.1.so. -> libevent-2.1.so.6.0.
-rwxr-xr-x root root 1.4M May : libevent-2.1.so.6.0.
lrwxrwxrwx root root May : libevent.so -> libevent-2.1.so.6.0.

在此目录下执行tmux,发现可以成功,但是切换到别的目录,则会报上述错误,具体原因应该是tmux按照默认共享库路径找不到该共享库文件,那么我们建立一个软链接即可:

64位系统
ln -s /usr/local/lib/libevent-2.1.so. /usr/lib64/libevent-2.1.so. 32位系统
ln -s /usr/local/lib/libevent-2.1.so. /usr/lib/libevent-2.1.so.

创建完软连接之后,发现tmux可用,到此安装结束。

手动编译安装tmux的更多相关文章

  1. centos上手动编译安装tmux的问题

    https://blog.linuxeye.com/323.html 装个tmux也是不容易.. 关键词:libevent要自己下载2.0版,然后编译.安装时还要各种参数指定目录.

  2. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  3. CentOS手动编译安装gcc

    最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...

  4. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  5. Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试

    本文章仅限cnblogs网站内转载!请某网站自觉,遵纪守法,尊重原创! 系统环境情况: 最小化.无桌面环境 新安装的Debian 8 Server 版本操作系统虚拟机一台 手动编译安装MongoDB ...

  6. web服务器学习1---httpd-2.4.29源码手动编译安装

    环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一  Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...

  7. cygwin如何下编译安装tmux?

    1. 准备工作 1.1 安装ncurses开发库 apt-cyg install libncurses-deve 1.2 安装libevent apt-cyg install libevent-dev ...

  8. centos7手动编译安装Libvirt常见问题

    由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...

  9. 手动编译安装Libvirt之后利用systemctl管理libvirtd服务

    因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用sys ...

随机推荐

  1. swoole帮助文档

    入门指引 [编辑本页] Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同.普通的扩展只是提供一个库函数.而swoole扩展在运行后会接管PHP的控制权,进入事件循环.当IO事件发生后,swo ...

  2. 理解面向消息的中间件和 JMS

    本章知识点: 企业消息和面向消息的中间件 理解 Java Message Service(JMS) 使用 JMS APIs 发送和接收消息 消息驱动 bean 的一个例子 简介 一般来说,掌握了企业级 ...

  3. Unity3d 异常与解决方案集合(持续)

    1:更新完unity的5.3.1 版本 后,打开SimpleFrameworld_UGUI 后出现 error CS0117: 'System.IO.Directory' does not conta ...

  4. Tomcat翻译--The Host Container

    原文:http://tomcat.apache.org/tomcat-7.0-doc/config/host.html Introduction(介绍) The Host element repres ...

  5. ionic2——环境配置篇

    环境配置 安装nodeJS 配置cnpm 安装ionic2 安装cordova 安装java sdk 安装android sdk(在项目最后打包时app的时候会用到,前期是在浏览器环境测试开发暂时不需 ...

  6. PHPEMS在线模拟考试系统 v4.2

    官网地址 :http://www.phpems.net/ 下载地址 : http://www.phpems.net/index.php?content-app-content&contenti ...

  7. BackBone 源码解读及思考

    说明 前段时间略忙,终于找到时间看看backbone代码. 正如知友们说的那样,backbone简单.随性. 代码简单的看一眼,就能知道作者的思路.因为简单,所以随性,可以很自由的和其他类库大搭配使用 ...

  8. poj2010

    大学招n(n为奇数)个牛 招第i个牛需要ai块钱 第i个牛高考si分 输入招的牛数n 总的牛数c 总的钱数f 以及ai si 问用这些钱招的n个牛高考分数的中位数最大是多少 如果钱不够输出-1 这题结 ...

  9. redis 双写一致性问题

    首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作. 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存.又或者 ...

  10. 前端项目使用module.exports文件一定要Webpack编译吗?请问gulp可以编译这种文件吗

    import引入类似这种文件,一定要用webpack去编译吗 module.pxports 是CMD规范的一个全局函数,功能是当前模块对外提供接口.require可以直接使用这个接口.例子: echo ...