与RedHat / CentOS相关的问题。我对软件包和库以及如何将它们固定到固定版本之间有些困惑。
最近的libxcb版本中存在一个X11转换错误,会影响我的C程序。libxcb-1.5-1没有该错误。
所以我做了:
# yum remove libxcb-devel
# rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm
现在错误消失了,我的软件运行正常。
快进几周,错误又回来了。
# yum info libxcb-devel
Loaded plugins: refresh-packagekit, security
Available Packages
Name : libxcb-devel
Arch : i686
Version : 1.9.1
Release : 2.el6
Size : 1.0 M
Repo : sl-security
但是安装的版本或可通过仓库访问的版本吗?我如何知道当前安装了哪个版本的libxcb?
$ ll /usr/lib/libxcb.so*
lrwxrwxrwx 1 root root 15 Aug 6 03:38 /usr/lib/libxcb.so.1 -> libxcb.so.1.1.0*
-rwxr-xr-x 1 root root 130752 Oct 14 2014 /usr/lib/libxcb.so.1.1.0*
$ readelf -d /usr/lib/libxcb.so.1.1.0 | grep SONAME
0x0000000e (SONAME) Library soname: [libxcb.so.1]
所以我对yum显示的版本号,.so上的编号和我想要的编号之间感到困惑。