查看libreadline 动态连接库,可以看出有老版本的,新本的还有两个
➜ ldconfig -p |grep libreadline
libreadline.so.6 (libc6,x86-64) => /usr/local/lib/libreadline.so.6
libreadline.so (libc6,x86-64) => /usr/local/lib/libreadline.so
libreadline.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.6
libreadline.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.5
libreadline.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libreadline.so
分别查看两个目录下的文件,可以看出最原始的是版本5,9月分安装了新版本,11月份应该是安装了新的开发版本.
➜ ll /usr/local/lib|grep libreadline
-rw-r--r-- 1 root root 1405076 9月 11 19:07 libreadline.a
lrwxrwxrwx 1 root root 16 9月 11 19:07 libreadline.so -> libreadline.so.6
lrwxrwxrwx 1 root root 18 9月 11 19:07 libreadline.so.6 -> libreadline.so.6.2
-r-xr-xr-x 1 root root 826675 9月 11 19:07 libreadline.so.6.2
➜ ll /lib/x86_64-linux-gnu | grep libreadline
lrwxrwxrwx 1 root root 18 5月 2 10:25 libreadline.so.5 -> libreadline.so.5.2
-rw-r--r-- 1 root root 259416 12月 31 2012 libreadline.so.5.2
lrwxrwxrwx 1 root root 18 5月 2 10:25 libreadline.so.6 -> libreadline.so.6.2
-rw-r--r-- 1 root root 265496 11月 14 2012 libreadline.so.6.2
➜ ll /usr/lib/x86_64-linux-gnu | grep libreadline
-rw-r--r-- 1 root root 506532 11月 14 2012 libreadline.a
lrwxrwxrwx 1 root root 38 11月 14 2012 libreadline.so -> /lib/x86_64-linux-gnu/libreadline.so.6
➜ ~
以目前的情况看应该删除一个6版本就可以了,(删除之前先做好备份) 但是删除目录/lib/x86_64-linux-gnu 下的文件后,从新加载(loconfig),后还是不行, 不过删除目录/usr/local/lib/的后就可以了.
sudo rm -rf /usr/local/lib/libreadline.*
sudo ldconfig
刚刚没有删除目录/usr/lib/x86_64-linux-gnu 下的相关文件,理论上讲应该把这个也删除后是可以的,由于时间问题,这个就没有去测试了. 也就是留了最新的开发版.