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 पर संख्या और मेरे इच्छित नंबर के बीच भ्रमित हूँ ...