Ubuntu16升级至18后运行tmux提示libevent-2.0.so.5缺失
解决Ubuntu 16升级到18后tmux缺失libevent-2.0.so.5的问题
这个问题很常见,主要是因为Ubuntu 18.04默认搭载的是libevent-2.1系列库,而你之前的tmux(大概率是手动编译安装的)依赖旧版的libevent-2.0.so.5,系统升级后旧库被移除,就触发了这个报错。给你几个可行的解决办法:
方法1:改用系统仓库的tmux(最简单)
如果不需要保留原来的tmux版本,直接卸载旧版本然后安装系统适配的版本就行:
- 先卸载现有tmux:如果是通过apt安装的,执行
sudo apt remove --purge tmux;如果是手动编译的,切换到当初的源码目录,执行sudo make uninstall - 更新仓库并重新安装:
sudo apt update sudo apt install tmux
安装完成后直接运行tmux就能正常使用了。
方法2:创建软链接兼容旧库
要是想继续用原来的tmux,可以给系统现有的libevent库创建一个软链接,伪装成tmux需要的旧版本:
- 先找到系统里的libevent文件:
find /usr/lib -name libevent*.so
一般会输出类似/usr/lib/x86_64-linux-gnu/libevent-2.1.so.6的路径
- 创建软链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5
之后再运行tmux应该就不会报错了。
方法3:重新编译tmux适配新库
如果需要特定版本的tmux,也可以重新编译源码,让它链接到当前系统的libevent:
- 先安装编译依赖:
sudo apt install libevent-dev libncurses-dev build-essential
- 获取tmux对应版本的源码压缩包并解压,进入源码目录后执行:
./configure make sudo make install
编译完成后,新的tmux就会适配系统当前的libevent库了。
内容的提问来源于stack exchange,提问作者Sastra Nababan
相关产品推荐
相关产品推荐

